2010-02-19 3 views
2

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

$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 (\ сервер \ изображения \ pic_firefox.jpg) [function.move- закачанный-файл]: не удалось открыть поток: Разрешение отказано в C: \ XXXXXXXXX \ uploader.php в строке 6

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

+1

У вас есть разрешение на доступ к этой папке? –

+1

У вас есть права на запись в папку? Попробуйте правильно сопоставить диск и посмотрите, можете ли вы отбросить файлы. – Anthony

+0

Это так странно. –

ответ

1

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

+0

У меня это работало. это был вопрос разрешения. благодаря! –

+1

@XiZhang: Я также сталкиваюсь с той же проблемой. Не могли бы вы указать, как вы это решили? – kreya