PHP: загрузка файлов в общую сетевую папку - PullRequest
2 голосов
/ 20 февраля 2010

У меня проблема с загрузкой файла в общую сетевую папку. Я могу подключиться к папке с помощью проверки подлинности Windows в IE. Сценарий выглядит следующим образом:

$target_path =  '\\\\server\\images\\';
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}

когда я его запустил, я получил сообщение об ошибке:

Внимание: move_uploaded_file (\ server \ images \ pic_firefox.jpg) [function.move-uploaded-file]: не удалось открыть поток: в доступе отказано C: \ xxxxxxxxx \ uploader.php в строке 6

Я думал, что это потому, что аутентификация Windows не работает таким образом. Есть ли способ загрузить файл, используя имя пользователя / пароль? Любые мысли будут оценены.

1 Ответ

1 голос
/ 20 февраля 2010

Когда вы запускаете PHP-скрипт из браузера, вы не запускаете его под своей учетной записью. Вы работаете под тем, что HTTP-сервер использует в качестве имени пользователя. Так что даже если у вас есть доступ к папке, сервер не может. Самое простое решение - дать серверу разрешение на запись в эту папку.

...