Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#28 used as offset, casting to integer (28) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: загрузка файлов на хостинг, выбор попдпапки в форме
ТвойWeb » WebMaster класс » PHP/Perl » загрузка файлов на хостинг, выбор попдпапки в форме

Страниц (1): [1]
 

1. snowman - 09 Апреля, 2008 - 19:11:10 - перейти к сообщению
делаю потихоньку простейшую фотогалерею. На локальной машине сначала все пропущеные точки с запятой пока соберешь, думаешь ну все, наконец-то заработало. Грузишь на хостинг и финита ля комедия Улыбка

Вобщем это как бы грузилка. надо в зависимости от выбраного пользователем раздела в списке select загрузить картинку в соответствующую подпапку.

CODE:
<h2>Форма для загрузки фотографий</h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="500000">
<input type="file" name="filename" id="upload"><BR><BR>

<select size="3" name="dir">
<option value="interer">Интерьер</option>
<option value="portret">Портрет</option>
</select>

<BR><BR>
<input type="submit" value="загрузить">
</form>


При сейчашнем раскладе вообще на хостинге ошибку функции copy пишет.

CODE:
<?php

chdir ("../photogallery/");

if(copy($HTTP_POST_FILES ["filename"] ["tmp_name"], "$dir/".$HTTP_POST_FILES ["filename"] ["name"]))
{
echo("Файл успешно загружен");
}
else
{
echo("Ошибка загрузки файла");
}
$rdir = getcwd();
echo ("<BR>$rdir");
?>


если попробовать сделать нечто вроде без указания подпапки в функции copy ))

CODE:

if ($dir = portret) {
chdir ("../photogallery/portret/");
}
else if($dir = interer) {
chdir ("../photogallery/interer/");
}
else {
chdir ("../photogallery/");
}


то грузит в первый подраздел, какой бы не был выбран Улыбка

е могу понять в чем ошибаюсь. Или может эту задачу вообще как-то по другому надо выполнять ?
2. Furax - 09 Апреля, 2008 - 22:05:55 - перейти к сообщению
snowman
Почитай в Сети статьи по закачке файлов, а не то твой сайт завтра же взломают.

Если это фотогалерея, то и принимать она должна только фотографии, а у Тебя я могу загрузить любой PHP-скрипт и потом спокойненько обратиться к нему, сделав на сервере что угодно.

Сохранять файлы под тем именем, которое пришло от клиента, тоже плохо - там может быть попытка взлома.

Для загруженных файлов надо делать не copy, а move_uploaded_file (почитай!).

По поводу третьего листинга - так ведь в PHP одиночный знак "=" - это присваивание, а в сравнении надо писать "==".

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0339]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33