Forum Webscript.Ru
		Программирование => PHP => Тема начата: Mefisto от 17 Июня 2003, 15:27:04
		
			
			- 
				Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/var/tmp/phpWAgnFn) is not within the allowed path(s): (/usr/local/apache/www/comfest.ru) in /usr/local/apache/www/comfest.ru/admin/news.php on line 59
 
 
 возникает при попытки аплоада картинки
 
 хостер говорит, что с аплдоадами на сервере все в порядке
- 
				это значит что у вас нет доступа ко временной директории /var/tmp/phpWAgnFn в которую закачан файл
			
- 
				пытаешься вылезти при помощи file_exists за границы твоего DocumentRoot
 Скорее всего ошибка в скрипте аплоада
- 
				вот кусок кода,который обрабатывает аплоад добавления новости с двумя картинками.
 
 причем на локалке все работает
 
 if (@$add==2)
 {
 
 $text = bez($text);
 if(file_exists($img_small))
 {
 $ext=ereg_replace("^.*\\.([a-zA-Z]*)$","\\\\1",$img_small_name);
 if($ext=="gif" || $ext=="jpg" || $ext=="jpeg" || $ext=="png")
 {
 $imgname1="1".time().".".$ext;
 copy($img_small,"img_news/".$imgname1);
 chmod ("img_news/".$imgname1, 0666);
 $picture_small=",img_small=\'$imgname1\'";
 }
 }
 
 if(file_exists($img_big))
 {
 $ext=ereg_replace("^.*\\.([a-zA-Z]*)$","\\\\1",$img_big_name);
 if($ext=="gif" || $ext=="jpg" || $ext=="jpeg" || $ext=="png")
 {
 $imgname2="2".time().".".$ext;
 copy($img_big,"img_news/".$imgname2);
 chmod ("img_news/".$imgname2, 0666);
 $picture_big=",img_big=\'$imgname2\'";
 }
 }
 
 $date = $year.$month.$day.date("His");
 $sql = "INSERT INTO com_news SET text=\'$text\', date=\'$date\' $picture_small  $picture_big ";
 mysql_query($sql);
 echo mysql_error();
 }
 
- 
				http://www.php.net/is_uploaded_file
 http://www.php.net/move_uploaded_file
- 
				а если этот скрипт работает на одном хостинге, но не работает на другом?
 чудеса...
- 
				Mefisto:
 чудеса...
 
 неа
 криво написанный скрипт
- 
				а не криво написанный можешь привести?
			
- 
				http://ru2.php.net/manual/en/features.file-upload.php
			
- 
				Скрипт оказался верный
 
 просто гр**баный хостер не поставил на временную папку для аплоада права 0777
- 
				Mefisto 
 Угу, правильно, пусть поставит.
 В таком случае, если у тебя не колокейшн или что покруче, все юзеры того же хостера будут читать/писать твои загружаемые файлы :)
- 
				FreeSpace:
 все юзеры того же хостера будут читать/писать твои загружаемые файлы
 
 Вот эжто совсем не факт.
- 
				Почему же?
 Хотя да, если safe_mode и open_basedir...