Я пытаюсь загрузить файл из моего браузера-> PHP-скрипт-> Сервер.
Мой браузер и PHP-скрипт лежат на одном сервере. Я использую xampp на этом. Сервер, на который я должен загрузить этот файл, отличается.
Вот мой код:
$fdir = "http:\\\\myip\\D:\\errors\\";
$ffile = $fdir.basename($_FILES['myfile']['name']);
if (copy($ffile,$_FILES['myfile']['tmp_name'])) {
echo "<br />"."File uploaded successfully";
} else {
echo "<br />"."Error in uploading file";
}
Я получаю следующую ошибку:
copy (http: \ myip \ D: \ errors \ IMG-20150424-WA0004.jpg): не удалось открыть поток: неверный аргумент в C: \ xampp \ htdocs \ BS \ myphp1.php в строке 54
Любая помощь будет оценена.
РЕДАКТИРОВАТЬ:
Я отредактировал свой код, чтобы удалить http: // и использовать имя сервера.
Также я сейчас использую move_uploaded_file
вместо copy
$fdir="\\\\TESTSRV\\D:\\errors\\";
$ffile=$fdir.basename($_FILES['myfile']['name']);
move_Uploaded_file($_FILES['myfile']['tmp_name'],$ffile);
Но все равно это дает мне ошибку
move_uploaded_file (\ TESTSRV \ D: \ errors \ IMG-20150424-WA0004.jpg): не удалось открыть поток: неверный аргумент в C: \ xampp \ htdocs \ BS \ myphp1.php в строке 54
Это не способ скопировать загруженные файлы — вам нужно использовать функцию move_uploaded_file
:
if (move_uploaded_file($_FILES['myfile']['tmp_name'], "c:\\path\\to\\file")) {
echo "<br />"."File uploaded successfully";
} else {
echo "<br />"."Error in uploading file";
}
Также я не думаю, что ваш $fdir
переменная является допустимым путем в Windows. В основном второй аргумент move_uploaded_file
должен быть целевой путь, куда вы хотите переместить файл.
Других решений пока нет …