Войти

Показать полную графическую версию : Закачка файла по PHP


IksSafonsky
02-12-2003, 18:00
Ситуация: пишу PHP-скрипт для закачки файла на сайт. На сайте стоит PHP 3.0.18, включен Safe Mode.
Файл закачивается во временную папку, можно увидеть, под каким именем он там лежит, вот только сделать с этим файлом ничего нельзя. Функция COPY, с помощью которой я пытаюсь создать копию закачанного файла в постоянной папке, выдаёт предупреждение: ваш скрипт не имеет права доступа к файлу такому-то, потому что тот создан скриптом с другим UID. И всё. А функции MOVE_UPLOADED_FILE в текущей версии PHP ещё не имеется...
Есть ли способ как-то это обойти?

Prisoner
03-12-2003, 06:31
Стало быть есть форма которая позволяет пользователю выбрать файлик. Эта форма имеет обработчик - скрипт А.
Фраза потому что тот создан скриптом с другим UID наталкивает на мысль чтобы обработку пришедшего файла (копирование куда надо и все такое прочее) делать в этом же скрипте А если это делается именно так,  пишите - подумаем :).

IksSafonsky
03-12-2003, 13:30
Делается-то это в том же скрипте. То есть в форме (в теге FORM) стоит ACTION="#". При запуске скрипта первым же делом проверяется, посылался ли файл:

 if($HTTP_POST_VARS["userfile"]){
$upload_name=$HTTP_POST_VARS["userfile"];

и если да, дальше уже с ним делаются какие-то манипуляции, если же нет- выводится форма. Вот только, как я понял, после загрузки файла запускается уже _новый экземпляр_ этого скрипта с, естественно, другим UID. Это выглядит примерно так: у скрипта, пославшего файл, UID равен, скажем, 3, а у принявшего - 2751...

archy
03-12-2003, 18:43
Видимо у тебя хозян скрипта с одним uid, а работает скрипт под другим...?

Prisoner
04-12-2003, 03:30
Да, судя по всему не в самом PHP дело или я что-то не догоняю :\.




© OSzone.net 2001-2012