Добрый день помогите с загрузкой фалйа на сервак! 1 вопрос! можно так!(что бы было в одной форме и текста и чекс боксы и сам файл) table align="center" id="regTable"> <tr> <td> <h3> Регистрация пользователя </h3> <hr> <form enctype="multipart/form-data" action="reg.php" method="post"> <input id="username" name="username" required="required" type="text" placeholder="Логин"/> <br> <input id="password" name="password" required="required" type="text" placeholder="Пароль"/> <br> <input id="email" name="email" required="required" type="text" placeholder="email"/> <br> <input type="hidden" name="MAX_FILE_SIZE" value="64000"> <input class="fileUpload" name="userFile" type="file"><br> <input type="submit" value="Ок"/> </form> <hr> <a href="/index.php">Назад</a> </td> </tr> </table> 2 вопрос! не загружается файл на сервак! вот код! Код (PHP): public function fileFilter($file){ @mkdir("uploads", 0777); if($file["userFile"]["size"] > 1024*3*1024) { echo ("Размер файла превышает три мегабайта"); exit; } // Проверяем загружен ли файл if(is_uploaded_file($file["userFile"]["tmp_name"])) { // Если файл загружен успешно, перемещаем его // из временной в конечную move_uploaded_file($file["userFile"]["tmp_name"],"view/ru/uploads/".$file["userFile"]["name"]); } else { echo $file["userFile"]["tmp_name"], "/upload/".$file["userFile"]["name"]; echo("Ошибка загрузки файла"); print_r($file); } } $user->fileFilter($_FILES); echo ($_FILES['userFile']['error']);// 0 ошибки такие! arning: move_uploaded_file(view/ru/uploads/VisualElementsManifest.xml) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: No such file or directory in C:\ws\OpenServer\domains\form\class\users.php on line 40 Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move 'C:\ws\OpenServer\userdata\temp\phpA1B1.tmp' to 'view/ru/uploads/VisualElementsManifest.xml' in C:\ws\OpenServer\domains\form\class\users.php on line 40
array (size=1) 'userFile' => array (size=5) 'name' => string 'VisualElementsManifest.xml' (length=26) 'type' => string 'text/xml' (length=8) 'tmp_name' => string 'C:\ws\OpenServer\userdata\temp\php228D.tmp' (length=42) 'error' => int 0 'size' => int 399 по C:\ws\OpenServer\userdata\temp\php228D.tmp эго нет!
файл удаляется когда завершается работа скрипта. смотреть надо до того как он закончится. Файл загрузился, ошибок нет. Подумай, почему не получается его скопировать, и где нет прав.
а ты уверен, что она у тебя отработала без ошибок, если у тебя там блин собака стоит? Ты вообще начерта её поставил? Чтобы теперь за голову хвататься? И за каким чертом у тебя 777? =) Хочешь чтобы поломали тебя? =) Ну ты планируй чуток. Год тут уже программируешь.
Согласен! не учел что вы не телепаты! 8) @mkdir("uploads", 0777); - блин сабака стоит как следствие(потом сделается красиво,ибо нет смысла вываливать весь скипт,точно не работает в эот месте!поэтому малось упрощён,но суть вопроса остаётся)!!!!!! вообще да! создает папку(+пробовал создавать разные в разных,разными методами бубнами "Эфект" тот же)! Помогайте застрял в обычном вопросе! уже не пойму че по чём! Добавлено спустя 32 минуты 12 секунд: Спасайте уже и не знаю за что ухватится!
Никогда не пей эту гадость! Привыкнешь - и жизнь твоя не будет стоить ломаного цента! "Человек с бульвара Капуцинов". Случаи, когда нужно ставить собаку, можно пересчитать по пальцам одной руки, и это не один из них. Не уподобляйтесь начальнику, который запрещает говорить подчиненным о проблемах на работе, а потом удивляется, почему фирма так плохо работает. Разбирайтесь, почему у вас не отрабатывает mkdir. Может, создается, но не там, где вы ожидаете?
Сабака стоить просто для то го что бы не выкидывался ворнинг ТАМ ВООБЩЕ ЕЁ НЕ ДОЛЖНО БЫТЬ! я сам создаю папки , ну так как не получилось пробавал варианты, это просто последный создать через скрипт! куда копать?
убрал Warning: mkdir() [<a href='function.mkdir'>function.mkdir</a>]: File exists in C:\ws\OpenServer\domains\form\class\users.php on line 29 Добавлено спустя 2 минуты 15 секунд: Warning: move_uploaded_file(/view/ru/uploads/debug.log) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: No such file or directory in C:\ws\OpenServer\domains\form\class\users.php on line 40 Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move 'C:\ws\OpenServer\userdata\temp\php32B6.tmp' to '/view/ru/uploads/debug.log' in C:\ws\OpenServer\domains\form\class\users.php on line 40
И что? Перевести слабо с английского? 1 предупреждение - о том, что такая директория уже есть, поэтому mkdir не может создать её сново. Второе - что путь "view/ru/uploads" не найден. Поскольку нефиг относительный путь задавать - сделайте абсолютный (я его получаю через константу __DIR__ обычно). ТРетье - что не удалось переписать загруженный файл, поскольку путь, куда его надо переписать, не был найден. Интерпретатор вам всё подсказал...
Спасибо наталкнули на решение! ДИР помог правда не так как хотелось так как он вернул путь файла , а там инклюдники, и в этоге немного не то выдаеть ну то уже дело техники! Код (PHP): //move_uploaded_file($file["userFile"]["tmp_name"], "C:/ws/OpenServer/domains/form/view/ru". "/uploads/".$file["userFile"]["name"]); move_uploaded_file($file["userFile"]["tmp_name"], __DIR__."/uploads/".$file["userFile"]["name"]); __DIR__ // C:/ws/OpenServer/domains/form/class
Если там инклюдики, можно определить константу на самом верхнем уровне. К пример, сделать какой-нибудь файл config.php в корне сайта, который включается везде и всюду, и там написать: Код (Text): define("UPLOAD_DIR", __DIR__ . "/view/ru/uploads");