Загрузка фйла на сервер

Статус
В этой теме нельзя размещать новые ответы.

Xambis

Новичок
Загрузка фйла на сервер

Необходимо загрузить файл на сервер, и сохранить его в папку uploads. Поискал по форуму, что-то нашел, но ничего не помогло.
Переменная $file = $_FILES.
PHP:
function upload_file($file)
{
	$uploaddir = 'uploads/';
	$uploadfile = $uploaddir.basename($file['userfile']['name']);
	var_dump($uploadfile);
	if(is_uploaded_file($file['userfile']['tmp_name']))
	{
		if (!move_uploaded_file($file['userfile']['tmp_name'], $uploadfile))
		{
			var_dump($file['userfile']);
			return "Произошла ошибка при загрузке файла. 301";
		}
	}
	else
		return "Произошла ошибка при загрузке файла. 302";
	return "";
}
Браузер выдает:
string(16) "uploads/DOMS.rar"
Warning: move_uploaded_file(uploads/DOMS.rar): failed to open stream: Permission denied in c:\inetpub\wwwroot\doms\functions.php on line 1063

Warning: move_uploaded_file(): Unable to move 'C:\PHP\uploadtemp\php4A.tmp' to 'uploads/DOMS.rar' in c:\inetpub\wwwroot\doms\functions.php on line 1063
array(5) { ["name"]=> string(8) "DOMS.rar" ["type"]=> string(28) "application/x-rar-compressed" ["tmp_name"]=> string(27) "C:\PHP\uploadtemp\php4A.tmp" ["error"]=> int(0) ["size"]=> int(141269) }
Произошла ошибка при загрузке файла. 301

На сервере стоит WindowsXP
Версия PHP: 4.3.9
Версия IIS: 5.1
Переменная MAX_FILE_SIZE в форме равна 512000.

Права на C:\PHP\uploadtemp, C:\Inetpub\wwwroot\DOMS, C:\Inetpub\wwwroot\DOMS\uploads даны все.
Скрипты лежат в C:\Inetpub\wwwroot\DOMS.

$uploaddir пробовал присваивать разные значения:
$uploaddir = '/uploads/';
$uploaddir = 'C:\\Inetpub\\wwwroot\\DOMS\\uploads\\';
$uploaddir = 'uploads\\';
Во всех случаях, говорит, что разрешение не получено.

Помогите.
 

Фанат

oncle terrible
Команда форума
Права на C:\PHP\uploadtemp, C:\Inetpub\wwwroot\DOMS, C:\Inetpub\wwwroot\DOMS\uploads даны все.
Скажи, ты всерьёз думаешь, будто здесь тебе скажут что-то принципиально отличающиееся от того, что тебе сказал пхп?

Что тебе скажут, как та мама, гладя сыночка по квадратной голове - все права выставлены?
 

Vallar_ultra

Любитель выпить :)
и для виндов всё-таки лучше пользовать родной делиметр "\"
 

Xambis

Новичок
Фанат
Я надеюсь, что здесь будут писать те, кто столкнулся с такой пробблемой, и победил ее.
 

Фанат

oncle terrible
Команда форума
Я тебе так скажу. Не сталкиваясь.
надо выставить права.
не думать, что выставил, а на самом деле выставить ;-)
 

Vallar_ultra

Любитель выпить :)
2Xambis

Permission denied - это ошибка ИМЕННО на отсутствие прав а не на кривость кода или отсутствие.
 

Андрейка

Senior pomidor developer
Xambis
кому именно даны и какие права? IIS явно работает под своим акком... у него права есть?
 

Xambis

Новичок
Проблему решил.

Вот лекарство:
В закладке "Доступ" свойств папки "uploads" в разрешениях добавил пользователя ISAM_<имя_компьютера>, которому и выдал все права. То же самое сделал и в закладке "Безопасность".

До этого всеми правами обладал "пользователь" "Все". Почему это не срабатывало - не понимаю.

Благодарю.
 

jstar

Новичок
PHP5.2+IIS:
закладку Доступ не менял.
На закладке Безопасность предоставил все права Интернет пользователю данной машины.(Имя-компа\Учётная запись - ISAM_, IUSR_ и т.д. у кого что)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху