2015-11-17 22 views
5

Sto tentando di caricare un file e quindi salvarlo modificandone il nome. Tuttavia, non funziona e mi dà questo errore.Impossibile caricare il file tramite php

Attenzione: move_uploaded_file (uploads/564b68ef0e2f8 | 3d-pc-natura-wallpaper.jpg): non è riuscito ad aprire flusso: Invalid argument in C: \ wamp \ www \ f \ ajax.php on line 157

Avviso: move_uploaded_file(): impossibile spostare "C: \ wamp \ tmp \ phpA364.tmp" su "upload/564b68ef0e2f8 | 3d-pc-nature-wallpaper.jpg" in C: \ wamp \ www \ f \ ajax.php on line 157

ho verificato e il file viene correttamente andando a $ _FILES. Ecco il mio codice.

$rand_img = uniqid(); 
$file_upload_folder = "uploads"; 
$finalImgLink = $file_upload_folder . '/' . $rand_img . '|' . $_FILES['file']['name']; 
//move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/$rand_img|' . $_FILES['file']['name']); 
if(move_uploaded_file($_FILES['file']['tmp_name'], $finalImgLink)) 
{ 
    echo "ok"; 
} 
else 
{ 
    echo "not ok"; 
} 

Cosa c'è di sbagliato qui?

+0

assicurarsi di avere arrivi ** ** cartella nella directory principale –

+0

@RajdeepPaul è nella stessa cartella del file ajax.php –

+2

sei sicuro '|' è accettato in un nome del file? – Jeff

risposta

4

Non è possibile utilizzare una pipe (|) nei nomi di file. Questa è la causa più probabile dell'errore che stai riscontrando. Prova a cambiarlo con un carattere di sottolineatura o un trattino.

$rand_img = uniqid(); 
$file_upload_folder = "uploads"; 
$finalImgLink = $file_upload_folder . '/' . $rand_img . '_' . $_FILES['file']['name']; 
//move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/$rand_img|' . $_FILES['file']['name']); 
if(move_uploaded_file($_FILES['file']['tmp_name'], $finalImgLink)) 
{ 
    echo "ok"; 
} 
else 
{ 
    echo "not ok"; 
} 

Su Windows, il nome del file non può contenere i seguenti caratteri:

\ /: *? "<> |

1

Non è possibile utilizzare | nel nome del file Se si desidera un separatore, si può avere qualcosa di simile a , . o qualsiasi stringa specifica come abc, xy ecc,

Quindi aggiornare il codice in. .. come segue

$finalImgLink = $file_upload_folder . '/' . $rand_img . ".." . $_FILES['file']['name']; 
Problemi correlati