Загрузка файлов

TRL

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

Сранно, вроде всё правильно делаю. Вот код:

PHP:
if (!is_dir($dir."photos/".intval($_SESSION['user_id'])))
{
                          @mkdir($dir."photos/".intval($_SESSION['user_id']), 0777);
                          @chmod($dir."photos/".intval($_SESSION['user_id']), 0777);
}

@copy($photo['tmp_name'], $dir."photos/".intval($_SESSION['user_id'])."/".$photo_name);
не загружает, хотя директорию прежде создаёт. ПРоверяю, в чём проблема:

SAFE MODE Restriction in effect. The script whose uid is 1081 is not allowed to access /home/****/photos/123 owned by uid 65534 in

Вопрос, почему ЧМОД не ставит права под этим же онвером, который загружает скрипты, т.е. почему разные: 1081 и 65534
 

Фанат

oncle terrible
Команда форума
странно.
а почему is_dir и intval без собачек? непорядок!
 

TRL

Новичок
а смысл? Хотя и там нет смысла ставить. т.к. error_reporting(0) для работы...
 

Фанат

oncle terrible
Команда форума
круто.
с такими-то подходами - к каждой функции затычка да еще error_reporting(0) сверху - удивительно, как ты вообще хоть какое-то сообщение получил.
может, оно и не отсюда вовсе? А из какого другого скрипта?
 

TRL

Новичок
ммм... Фанат! А можно ближе к делу? Не прикидуйся дураком.. Сообщения получаешь, когда ставишь еррор в E_ALL и убираешь затычки... Но создание директории и присвоение прав проходит нормально...

-~{}~ 26.11.06 23:57:

если тебе так удобней думать, то пожалуйста:

PHP:
error_reporting(E_ALL); 

if (!is_dir($dir."photos/".intval($_SESSION['user_id'])))
{
                          mkdir($dir."photos/".intval($_SESSION['user_id']), 0777);
                          chmod($dir."photos/".intval($_SESSION['user_id']), 0777);
}

copy($photo['tmp_name'], $dir."photos/".intval($_SESSION['user_id'])."/".$photo_name);
 

Фанат

oncle terrible
Команда форума
Дураком здесь прикидывыается только один человек.
который расставляет затычки, которые ему ВООБЩЕ не нужны, да к тому же еще мешают решить его же проблему.

короче.
рассказываю алгоритм.
убираешь все собаки. навсегда
включаешь error_reporting(E_ALL). навсегда.
запускаешь скрипт.
втыкаешь в сообщение об ошибке.
идешь в мануал читать про функцию, которая ошибку вызывает.

-~{}~ 26.11.06 23:59:

если тебе так удобней думать
это не мне надо, дурашка. а тебе.
 

TRL

Новичок
Я понимаю, что мне... Поэтому не хочу разводить здесь офтоп.. темболее срочно нужно..

Сейчас не о том, что нужно вообще делть идёт речь.. Я тебе уже отписал код с выводом ошибок, не стоит его словами писать!

Ошибка:
Warning: copy() [function.copy]: SAFE MODE Restriction in effect. The script whose uid is 1081 is not allowed to access /home/***//photos/123 owned by uid 65534 in /home/***/manager_photo.php on line 43

Вызывает только лишь copy функция... С такой проблемой обічно сталкиваешься, когда создаёшь директорию и не присваиваешьей потом chmod(). Уже сталкивался, но вопрос почему в єтом случае при создании директории и копировании туда файла UID разный... Одним же скрипом выполняется.

http://ua2.php.net/function.copy

здесь ничего нет по єтому поводу.

"втыкаешь в сообщение об ошибке."- зачем втыкать? Тебе же ясно русским языком сказали: uid is 1081 is not allowed to access ибо папка *** owned by uid 65534 in

И скажи, что я делаю не правильно что-то... :))
Смотрим только второй вариант. Поэтому кричать смотри мануал не стоит, т.к. там не напишут, что может ошибка возникнуть, если вы всё правильно сделали... Я конечно придержуюсь мнения - если что-то не работает, то это что-то иеет ошибки. Я покаметсь ничего не найду. Сейчас ещё попробую немного по другому сделать.. хотя конечно мало, что вероятно, но всё же...
 

TRL

Новичок
ммм...

"Замечание: На move_uploaded_file() не распространяются нормальные UID-ограничения режима безопасный режим."

Это уже ближе к теме.. Сенкс.. Я как-то не брал никогда её во внимание, хватало COPY();

Но вот с ним такая-же проблема возникает:

Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 1081 is not allowed to access /home/***/photos/123 owned by uid 65534 in /home/***/manager_photo.php on line 43

Сделал для проверки следующе:
- создал вручную папку, в которую нужно загружать
- задал ей права на загрузку

В єтом случае нормлаьно загрузились фотки. Вывод: проблема возникает при создании директорий и выдачи прав :(
 

TRL

Новичок
Дык при создании директории нет никаких ошибок! оТ safe mode независит UID.
 

cDLEON

Онанист РНРСlub
umask(0777);
Попробуй перед копированием засунуть... =)
 

TRL

Новичок
cDLEON! Не помогает :(

-~{}~ 27.11.06 00:58:

"значение mask & 0777 и возвращает старую umask."

У меня возвращает 18 :(

-~{}~ 28.11.06 15:54:

всё.. проблему решили.. В результате - вина хостера, конечно н понимаю в чём.. но на этом домене реально такая фигня была с луюой попкой... На другом домене, но на этом же диске (тот же самый хостинг пакет) работал. Что-то сделали - заработал тот же самый код...
 
Сверху