Добрый день уважаемые господа программисты. Пытаюсь писать на PHP ... одной рукой пишу, другой слезы вытираю ... Думаю, что если попадется мне разработчик php ... лучше ему не попадаться ... Нет НЕ ЕДИНОЙ функции, которая работала бы сразу ... все нужно как то вымудрить так, чтобы этому пхп понравилось.. Но это лирика ... есть проблема в которой у меня не хватает знаний. Моя задача сделать форму, чтобы пользователь мог загружать файлы на сайт. В определенную папочку. Меня смущает этот текст, который везде используют: Do not use Apache 2.0 and PHP in a production environment neither on Unix nor on Windows. Мои действия: Создал форму в пхп файле: HTML: <form name="upload_form" action="" accept-charset="utf-8" enctype="multipart/form-data" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> <input type="hidden" name="upload_form" value="1"> I agree to the terms license agreement: <input type="checkbox" name="confirm_submit" value="1" /><br> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> обрабатываю форму: PHP: if(!empty($_POST['upload_form']) && isset($_POST['confirm_submit'])) { $uploaddir = getcwd().'/download'; echo $uploaddir ."<br>"; echo $_FILES['userfile']['tmp_name']."<br>"; // Это вообще пустая переменная ... if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$_FILES['userfile']['name'])) { print "File is valid, and was successfully uploaded.<br>"; } else { print "There some errors!<br>"; } } Файл не загружает на сервер. Другие сайты могут загружать файлы. Например wordpress. а у меня не получается. Стал смотреть как у них это сделано ... в общем запутался и решил спросить у вас. гугл все спирает на апаче 2, но при чем здесь апаче два если другие сайты загружают нормально, а у меня не получается. Видимо что то не правильно пишу. Буду признателен за вашу помощь.
вопрос решен тема закрыта. Мои проблемы были как обычно из за синтаксиса: 1. Нужно указывать здесь: $_FILES['userfile']['tmp_name'] не одинарные кавычки, а двойные. После того как указал двойные кавычки сразу стали отображаться сообщения об ошибках, будто раньше они не могли отображаться ... 2. Когда увидел сообщения об ошибке, посмотрел что означает 2. Оказалось максимальный размер меньше разрешенного. Добавил размер получил имя временного файла, который был получен. 3. Установил права на директорию загрузки чтобы пхп мог писать в папку. Проглядел права. В общем работает хорошо. Но осадок остается не хороший от использования пхп. Не имея опыта (именно опыта, а не знаний), на пхп фиг что серьезное напишешь. Итог. Сделали пхп абы кабы. За результатом никто не следил. Результат работы не проверялся. Сделано все безконтрольно. Лично мое мнение такое. Я бы заставил их все ошибки поисправлять сначала, а потом только выпускать какие то очередные версии.
Код (Text): $uploaddir = getcwd().'/download'; Слеш на конце должен быть: Код (Text): $uploaddir = getcwd().'/download/'; Потому что иначе $uploaddir.$_FILES['userfile']['name'] == чё-то/downloadИмяфайла.