форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Служба спасения 911 / загрузка файлов на хостинг, выбор подпапки в форме, php |
| Автор | Сообщение |
| snowman Участник 25 |
# Дата: 11 Апр 2008 01:36 Наверное раздел не самый подходящий. Но я не так давно начал вникать в php, где-то неделю назад. И вот теперь думаю я или хостинг виноват
Надо загрузить файл (картинку) в подпапку, соотвествующую разделу фотогалереи. Раздела пока два. На локальной машине все отлично работает. А на хостинге игнорирует кусочек $dir и грузит в папку photogallery, без подпапки. В двойных кавычках - тоже игнорирует. [html]<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>[/html] [php] <?php chdir ("../photogallery/".$dir); if(copy($HTTP_POST_FILES ["filename"] ["tmp_name"], $HTTP_POST_FILES ["filename"] ["name"])) { echo("Файл успешно загружен в папку $dir"); } else { echo("Ошибка загрузки файла"); } $rdir = getcwd(); echo ("<BR>Полный путь до нее: $rdir"); ?>[/php] В какую папку грузит я сделал вывод в отладочных целях
Если этот кусочек добавить не в chdir а в copy, то выдает ошибку этой фунции. Если сделать нечто вроде [php]if($dir=portret){ chdir ("../photogallery/portret/); } else if (и т.д.) { и т.п. }[/php] то грузит в первый упомянутый раздел какой бы не был выбран. как будто переменной $dir не передается значение. или я что-то не написал чтоб его принимать или хостинг гонит. если что этот сценарий находится в запароленой директории /admin/ поэтому проверок особых пока нет |
| Cryptex Участник 253 |
# Дата: 11 Апр 2008 10:51 Ты прав, тут ей не передаётся значение из-за выключенной Register globals. Как лечится: Например $dir = $_REQUEST["dir"]; |
| madman Участник 217 |
# Дата: 11 Апр 2008 16:23 snowman 1. » snowman то грузит в первый упомянутый раздел какой бы не был выбран.В PHP оператор сравнения "==", а не "=" 2. Зачем ты используеш chdir я не понимаю. Вот тебе описание функции copy: bool copy ( string $source , string $dest ) Поэтому нужно делать так copy($_FILES["filename"]["tmp_name"], $dir."/".$_FILES["filename"]["name"]); 3. Лутше использовать суперглобальный масив $_FILES 4. Я б заменил конструкцию if ... elseif на switch |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:23620, gzipped size:8298 |