Forum Webscript.Ru

Программирование => PHP => Тема начата: Mefisto от 17 Июня 2003, 15:27:04

Название: что означает это варнинг?
Отправлено: 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


возникает при попытки аплоада картинки

хостер говорит, что с аплдоадами на сервере все в порядке
Название: что означает это варнинг?
Отправлено: AliMamed от 17 Июня 2003, 15:37:40
это значит что у вас нет доступа ко временной директории /var/tmp/phpWAgnFn в которую закачан файл
Название: что означает это варнинг?
Отправлено: ThE0ReTiC от 17 Июня 2003, 15:38:20
пытаешься вылезти при помощи file_exists за границы твоего DocumentRoot
Скорее всего ошибка в скрипте аплоада
Название: что означает это варнинг?
Отправлено: Mefisto от 17 Июня 2003, 15:56:44
вот кусок кода,который обрабатывает аплоад добавления новости с двумя картинками.

причем на локалке все работает

Цитировать
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();
}
Название: что означает это варнинг?
Отправлено: ThE0ReTiC от 17 Июня 2003, 16:02:38
http://www.php.net/is_uploaded_file
http://www.php.net/move_uploaded_file
Название: что означает это варнинг?
Отправлено: Mefisto от 17 Июня 2003, 19:19:49
а если этот скрипт работает на одном хостинге, но не работает на другом?
чудеса...
Название: что означает это варнинг?
Отправлено: ThE0ReTiC от 17 Июня 2003, 19:24:17
Цитировать
Mefisto:
чудеса...

неа
криво написанный скрипт
Название: что означает это варнинг?
Отправлено: Mefisto от 17 Июня 2003, 19:25:27
а не криво написанный можешь привести?
Название: что означает это варнинг?
Отправлено: ThE0ReTiC от 17 Июня 2003, 19:32:57
http://ru2.php.net/manual/en/features.file-upload.php
Название: что означает это варнинг?
Отправлено: Mefisto от 17 Июня 2003, 19:44:15
Скрипт оказался верный

просто гр**баный хостер не поставил на временную папку для аплоада права 0777
Название: что означает это варнинг?
Отправлено: FreeSpace от 18 Июня 2003, 00:34:00
Mefisto
Угу, правильно, пусть поставит.
В таком случае, если у тебя не колокейшн или что покруче, все юзеры того же хостера будут читать/писать твои загружаемые файлы :)
Название: что означает это варнинг?
Отправлено: ThE0ReTiC от 18 Июня 2003, 01:03:08
Цитировать
FreeSpace:
все юзеры того же хостера будут читать/писать твои загружаемые файлы

Вот эжто совсем не факт.
Название: что означает это варнинг?
Отправлено: FreeSpace от 18 Июня 2003, 13:42:51
Почему же?
Хотя да, если safe_mode и open_basedir...