Rinominare un file in PHP

wuolfit_one

Utente Attivo
21 Mag 2020
33
0
6
Salve,
il mio problema è questo voglio (usando php ovviamente) rinominare un file, ma i parametri per dargli il nuovo nome li voglio prendere da un form compilato dall'utente quindi il classico comando :
PHP:
// rinomino il file index in homepage
rename('index.php','homepage.php');
per il mio caso specifico non è sufficiente quindi ho pensato di scrivere uno script cosi :
PHP:
<?php
    if ($ACCEPT) {
        print("Questa Form Accetta Solo <b>" . $ACCEPT . "</b> files\n");
    }

$campo1 = $_REQUEST['campo1'];
$campo2 = $_REQUEST['campo2'];
$campo3 = $_REQUEST['campo3'];
$nome_temp = $campo1"-"$campo2"_"$campo3;
$oldFile = 'userfile';
$new_file = $nome_temp;
if(rename($old_name, $new_file) === TRUE) 
   { 
   echo 'File rinominato'; 
   }else{
    echo "errore nel caricamento";
}
?>
però quando vado a provare la pagina per la riga dove definisco $nome_temp mi da il seguente errore :
Parse error: syntax error, unexpected '"-"'
quindi a questo punto la domanda sorge spontanea....come faccio a dire a PHP che voglio che il nome deve essere una cosa del tipo campo1-campo2_campo3 ???? Grazie mille in anticipo per l'aiuto
 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
21
Vicenza
Forse dovresti metterci dei punti, prova cosi:
PHP:
$nome_temp = $campo1."-".$campo2."_".$campo3;
 

wuolfit_one

Utente Attivo
21 Mag 2020
33
0
6
Grazie Tommy con il tuo consiglio ha funzionato ma ora nella riga dove dichiaro l'if mi da questi 2 errori....sai perché????
Warning: rename(,sezione-data_nome): Parametro non corretto. (code: 87)
Notice: Undefined variable: old_name
 

wuolfit_one

Utente Attivo
21 Mag 2020
33
0
6
Ok ho visto difatti l'ho rinominata con oldFile ed il notice è sparito ma il warning rimane con l'unica differenza che non da più code:87 ma code:2
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Quello che fai è fidarti di trovare qualcosa in $_REQUEST, inoltre fai un'operazione inutile, cioè quella di passare ad una variabile una variabile.
Che lo fai a fare? Tanto vale scrivere $nome_temp = $_REQUEST['campo1']."-".$_REQUEST['campo2']."_".$_REQUEST['campo3'];
Ma a parte ciò, non sai nemmeno se i campi siano pieni o vuoti, perché nel secondo caso è normale che rename ti dia errore essendo $nome_temp inesistente.
Ti conviene sempre verificare quanto inserito da un utente, anche per non avere errori.
PHP:
$errore = false;
   if ( empty( $_REQUEST['campo1'] ) === true ) $errore .= ' Campo 1 è vuoto ';
   if ( empty( $_REQUEST['campo2'] ) === true ) $errore .= ' Campo 2 è vuoto ';
   if ( empty( $_REQUEST['campo3'] ) === true ) $errore .= ' Campo 3 è vuoto ';
if ( $errore === false )
{
      ---------------- QUI IL TUO CODICE CHE RINOMINA IL FILE --------------------
}
else
{
  echo '<p>si sono presentati alcuni errori, controlla i seguenti campi: <strong>$errore</strong></p>';
}
Poi magari mi dirai che l'errore c'è ancora, ma magari escludi qualche dato.
 

wuolfit_one

Utente Attivo
21 Mag 2020
33
0
6
Ciao MarcoGrazia provando ad usare lo script da te consigliato gli errori riportati sono :

Notice: Undefined index: campo1
Notice: Undefined index: campo2
Notice: Undefined index: campo3

oltre a ovviamente :
Campo 1 è vuoto
Campo 2 è vuoto
Campo 3 è vuoto

e per finire : Warning: rename(userfile,-_): Impossibile trovare il file specificato. (code: 2)
quando va a leggere il comando rename....ora ovviamente converrai con me che al momento 0, cioè quando la pagina viene aperta è ovvio che lui non trovi nulla, in quanto l'utente deve ancora selezionare il file, compilare i campi del form ecc....quindi come posso fare che lui non si "lamenti" prima che l'utente compili tutto????
 
Discussioni simili
Autore Titolo Forum Risposte Data
syndr0m3 [PHP] Rinominare file sul server ogni tot minuti PHP 8
M [PHP] Nome file, upload e rinominare PHP 2
C Rinominare file in base all'id dell'utente loggato PHP 0
M rinominare file in upload PHP 3
M Rinominare file Classic ASP 3
W Rinominare Documenti Con Form Asp Classic ASP 9
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
S Rinominare progetto da Visual Studio Express 2013 Visual Basic 0
M Rinominare filename immagine prima di fare l'upload PHP 2
xone Rinominare immagine upload PHP 3
Monital Rinominare le chiavi del multiarray dopo il suo ordinamento PHP 0
L Rinominare link PHP 10
L catturare e rinominare jpg PHP 27
M rinominare immagini con form asp Classic ASP 10
M Rinominare cartella con Cronjob PHP 8
helpdesk rinominare immagini PHP 38
fabriss76 Rinominare sito HTML e CSS 6
G Come rinominare pagina HTML mantenendo posizione? SEO e Posizionamento 0
L rinominare una pagina da htm ad asp Discussioni Varie 5
L file pdf e database PHP 2
E fpdf salvare e aprire il file PHP 4
I asp | includere un file, indirizzo depositato in un db Classic ASP 0
felino [Windows 10] Scompare icone, file e collegamenti sul desktop Windows e Software 0
S passare un valore da un form a un file .php con metodo post PHP 4
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
G file CSS contenente variabili HTML e CSS 1
M Creare traccia di download file sul server HTML e CSS 2
I elimina file PHP 1
I cerca file sottocartella unlink file PHP 0
I sessione username scarica file PHP 1
S Aggiornare percorso file collegati MS Access 0
I lista file sottocartella elimina file PHP 3
F comando di inclusione file audio in I-Pad non funziona HTML e CSS 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
I visualizza file sottocartella elimina singolo file PHP 1
I caricamento file in sottocartella nome utente PHP 3
I cartella sottocartella apri o scarica file pdf PHP 1
K Sfondo nuovo file Photoshop 0
C Wp-admin a file php WordPress 5
G Importazione file .sql Web Server 0
csi Inviare file jpg in locale alla stampante con php PHP 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
MarcoGrazia HTML5 <picture> e i file source HTML e CSS 2
MarcoGrazia criptare un file PHP 2
U Link a doppio file PHP PHP 0
U Link a pagina ed esecuzione file PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
I Documento file word Java 0
FDF182 file .bin nell' email PHP 0
E Sito violato, file modificati, cartelle create WordPress 1

Discussioni simili