2015-11-17 18 views
5

Próbuję przesłać plik, a następnie zapisać go, zmieniając jego nazwę. Jednak to nie działa i daje mi ten błąd.Nie można przesłać pliku za pomocą php

Uwaga: move_uploaded_file (załadowania/564b68ef0e2f8 | 3D-PC naturalnymi wallpaper.jpg) nie można otworzyć strumienia: Nieprawidłowe argumentu C: \ wamp \ WWW \ f \ ajax.php na linii 157

Ostrzeżenie: move_uploaded_file(): Nie można przenieść 'C: \ wamp \ tmp \ phpA364.tmp' do 'uploads/564b68ef0e2f8 | 3d-pc-nature-wallpaper.jpg' w C: \ wamp \ www \ f \ ajax.php on line 157

zostały zweryfikowane, a plik zostanie poprawnie zamiar $ _FILES. Oto mój kod.

$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"; 
} 

Co jest nie tak?

+0

Upewnij się, że przesłane ** ** folder w katalogu głównym –

+0

@RajdeepPaul to w tym samym folderze co plik ajax.php –

+2

jesteś pewien '|' zostanie zatwierdzone w Nazwa pliku? – Jeff

Odpowiedz

4

Nie można używać potoku (|) w nazwach plików. Jest to najbardziej prawdopodobna przyczyna wystąpienia błędu. Spróbuj zmienić go na podkreślenie lub kreskę.

$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"; 
} 

Na oknach, nazwa pliku nie może zawierać żadnego z następujących znaków:

\ /: *? "<> |

1

Nie można używać | w pliku Jeśli chcesz separatora, można mieć coś podobnego , . ani żadnego konkretnego ciąg jak abc, xy itp

więc aktualizować swój kod w. .. następujący sposób

$finalImgLink = $file_upload_folder . '/' . $rand_img . ".." . $_FILES['file']['name']; 
Powiązane problemy