PHP, Method Not Allowed |
Здравствуйте, гость ( Вход | Регистрация )
Все ссылки на сторонние ресурсы, за исключением офсайтов программ, должны оформляться с помошью тега скрытого текста - [hide=1]Ссылка[/hide]
PHP, Method Not Allowed |
viktod |
14.10.2004 - 22:24
Сообщение
#1
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Сделал простой пример из учебника "upload file".
Положил файлы на сервер. Форма открывается, а при upload получаю: Method Not Allowed The requested method POST is not allowed for the URL /~viktod/test/upload.html2. Ошибка в какой-то мелочи, но я не знаю где. URL=http://www.viktod.com/~viktod/test/upload.html2 |
Sega |
15.10.2004 - 02:20
Сообщение
#2
|
Full Member Группа: Пoльзователь Сообщений: 73 Регистрация: 21.09.2003 Из: Находка Пользователь №: 16143 |
Цитата(viktod @ 14.10.2004 - 23:24) Сделал простой пример из учебника "upload file". Положил файлы на сервер. Форма открывается, а при upload получаю: Method Not Allowed The requested method POST is not allowed for the URL /~viktod/test/upload.html2. Ошибка в какой-то мелочи, но я не знаю где. URL=http://www.viktod.com/~viktod/test/upload.html2 у тебя в скрипте form method="post" enctype="multipart/form-data" используется метод пост а на сервере судя по всему стоит запрет на этот метод...и почему у тебя файл имеет расширение *.html2??? |
viktod |
15.10.2004 - 02:54
Сообщение
#3
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
html2 это дубль, не в нем я думаю дело.
А где и как мне снять этот запрет? Я имею права рут. |
Keeper |
15.10.2004 - 11:20
Сообщение
#4
|
Full Member Группа: Full member Сообщений: 149 Регистрация: 7.08.2004 Пользователь №: 56140 |
Посмотри в php.ini и в httpd.conf
Скорее всего проблема в настройках Apache скрывается гдето... я так думаю |
-------------------- Шуруп забитый молотком держится лучше чем гвоздь закрученный отверткой!
|
|
SiMM |
15.10.2004 - 17:47
Сообщение
#5
|
Full Member Группа: Full member Сообщений: 94 Регистрация: 13.01.2004 Пользователь №: 29292 |
Цитата(viktod @ 14.10.2004 - 23:24) Сделал простой пример из учебника "upload file". Этот учебник можешь выбросить. Цитата Ошибка в какой-то мелочи, но я не знаю где. Для начала - ошибка в том, что вместо того, чтобы сходить в мануал (http://www.php.net/manual/ru/features.file-upload) ты полез на форум.PS: а вообще, что-то мне подсказывает, что файлы с расширением htm2 у тебя не обрабатываются PHP. Нарушение правил. Флуд. Устное замечание. Для того и существует этот Форум, чтобы задавать на нем вопросы, пусть для кого-то и элементарные. И отвечать прошу по существу, а не упрекая и критикуя спрашивающего, а основную информацию отправляя в "ps" Ann |
Enoh |
16.10.2004 - 17:15
Сообщение
#6
|
Novice Группа: Пoльзователь Сообщений: 16 Регистрация: 2.07.2003 Пользователь №: 12577 |
Простой пример:
Первый файл - upload.html, представляет собой форму для загрузки файлов <html> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="filename"/> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"/> <input type="submit" value="Upload"/> </form> </html> Второй файл - upload.php, представляет собой скрипт для обработки загруженного файла <?php $file_name = $_FILES['filename']['name']; // Исходное имя файла $file_tmp_name = $_FILES['filename']['tmp_name']; // Имя файла на web-сервере $file_size = $_FILES['filename']['size']; // размер файла в байтах $file_type = $_FILES['filename']['type']; // MIME-тип файла, например: image/gif, text/plain $file_error = $_FILES['filename']['error']; // код ошибки if ($file_error != 0) { echo 'Ошибка: '; switch($file_error) { case 1: echo 'Размер загруженного файла превышает максимальное значение, заданное в файле php.ini дерективой upload_max_filesize'; break; case 2: echo 'Размер загруженного файла превышает максимальное значение, заданное в форме элементом MAX_FILE_SIZE (приблизительно 1Мб)'; break; case 3: echo 'Загружена только часть файла'; break; case 4: echo 'Файл не загружен'; break; } exit; } if (copy($file_tmp_name, '/uploads/'.$file_name)) { echo 'Файл успешно загружен'; } else { echo 'Файл не загружен'; exit; } ?> :) Сообщение было отредактировано Enoh: 16.10.2004 - 17:20 |
SiMM |
16.10.2004 - 21:21
Сообщение
#7
|
Full Member Группа: Full member Сообщений: 94 Регистрация: 13.01.2004 Пользователь №: 29292 |
Цитата(SiMM @ 15.10.2004 - 18:47) Для того и существует этот Форум, чтобы задавать на нем вопросы, пусть для кого-то и элементарные. Ни в коем случае не оправдываюсь, но имхо гораздо правильнее научить пользоваться мануалом, где всё прекрасно разжёвано и в большинстве случаев можно найти ответ на любой вопрос благодаря наличию примеров и комментариев как самих разработчиков, так и пользователей, чем продемонстрировать готовый код под конкретную задачу. 2Ann: прошу рассматривать это как пищу для размышлений, предназначенную viktod'у, а не как попытку обсуждения политики модерирования - с замечанием я полностью согласен, за исключением вышенаписанного. |
viktod |
18.10.2004 - 22:42
Сообщение
#8
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Manual or books - не имеет значения чем пользоваться.
Книга разве не руководствовалась manual? Вопрос во мне - пропущена какая-то малость, в результате которой код не работает. До сих пор! Перебрал 10 примеров - ни один не работает. Ошибка в книге? Нет, у меня. Вот поэтому я и спрашиваю и никак не могу получить ответ. |
SiMM |
18.10.2004 - 23:15
Сообщение
#9
|
Full Member Группа: Full member Сообщений: 94 Регистрация: 13.01.2004 Пользователь №: 29292 |
Цитата(viktod @ 18.10.2004 - 23:42) Manual or books - не имеет значения чем пользоваться. В том то и дело, что имеет - книгу может написать любой, при этом совершенно не отдавая себе отчёта в том, что он пишет, допуская вольности и ошибки в трактовке мануала и подаче материала. Мануал же, в отличии от книг, написан непосредственно разработчиками (кто как не они наиболее близки к языку?) и помимо прочего содержит описание возможных проблем и путей их решения как от самих разработчиков, так и от пользователей, реально с ними столкнувшимися Цитата Книга разве не руководствовалась manual? Желанное !== действительное, и потом, в онлайн-мане всегда содержится наиболее актуальная на данный момент информация. Подыдожив - когда какая-то функция ведёт себя неожиданным образом - в первую очередь - в ман на URL=http://php.net/имя_функции + URL=http://phpfaq.ru/debug.Цитата Вопрос во мне - пропущена какая-то малость, в результате которой код не работает. До сих пор! Перебрал 10 примеров - ни один не работает. Повторяю ещё раз - почему ты решил, что файлы с расширением htm2 у тебя должны обрабатываться PHP? Почему ты вообще решил, что POST в html файл, который не обрабатывается PHP, должен сработать (в тэге form у тебя не указан action, следовательно, POST будет происходить по тому же адресу, который отображён в строке URL при вызове скрипта)?Цитата Ошибка в книге? Нет, у меня. Вот поэтому я и спрашиваю и никак не могу получить ответ. Да, у тебя, а ответ ты уже получил. Привожу код, почти один к одному слизанный из мануалаКод <? // upload.php Если у тебя PHP обрабатывает файлы с расширением PHP - то он будет работать, в противном случае - поменяй расширение файла на нужное.ini_set('display_errors',1); error_reporting(E_ALL); if (!isset($_FILES) || !count($_FILES)) echo <<<HTML <form enctype="multipart/form-data" action="{$_SERVER['REQUEST_URI']}" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> HTML; else{ $uploaddir = dirname($_SERVER['SCRIPT_FILENAME']).'/'; $uploadfile = $uploaddir . $_FILES['userfile']['name']; print "<pre>"; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded. "; echo "Here's some more debugging info:\n"; } else echo "Possible file upload attack! Here's some debugging info:\n"; print_r($_FILES); print "</pre>"; } ?> |
viktod |
19.10.2004 - 00:55
Сообщение
#10
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Вы правы, спасибо, буду разбираться.
|
viktod |
20.10.2004 - 06:58
Сообщение
#11
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Я извиняьсь за долгое непонимание, но ничего не работает. И ман не помагает.
Ведь пример и код простые, так почему же не работает? Пустое окно - ни сообщений об ошибках или об успешном upload. В базе данных пусто - только созданная для них таблица. В начале вручную создал: CREATE TABLE upload ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, type VARCHAR(30) NOT NULL, size INT NOT NULL, content BLOB NOT NULL, PRIMARY KEY(id) ); Проверил - есть. Опубликовал: URL=http://www.viktod.com/~viktod/test/form.html (вы можете посмотреть здесь) <html> <head> <title>Untitled</title> </head> <body> <form enctype="multipart/form-data" action="http://www.viktod.com/~viktod/test/upload.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Send file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> </body> </html> URL=http://www.viktod.com/~viktod/test/upload.php <? if(isset($_POST['upload'])) { $fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; $fp = fopen($tmpName, 'r'); $content = fread($fp, filesize($tmpName)); $content = addslashes($content); fclose($fp); if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); } include 'library/config.php'; include 'library/opendb.php'; $query = "INSERT INTO upload (name, size, type, content ) ". "VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); include 'library/closedb.php'; echo "<br>File $fileName uploaded<br>"; } ?> сonfig.php (Вручную захожу по этим данным.) <?php $dbhost = 'localhost'; $dbuser = '111'; $dbpass = '111'; $dbname = 'test'; ?> opendb.php : <?php // This is an example opendb.php $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); ?> closedb.php: <?php mysql_close($conn); ?> Права 777 везде. Это в 2-х файлах. Делал все это и в одном файле (auction =' '). Тоже не работает. |
SiMM |
20.10.2004 - 08:25
Сообщение
#12
|
Full Member Группа: Full member Сообщений: 94 Регистрация: 13.01.2004 Пользователь №: 29292 |
Молодой человек, хватит уже паниковать - идите и читайте http://phpfaq.ru/debug, прочтите его внимательнейшим образом и отлаживайте скрипт - удалённо за вас эти проблемы никто не решит, залейте наконец мой upload.php (я добавил в него то, что рекомендуется для отладки в FAQ). И ещё - научитесь разделять задачи - прежде чем лезть разбираться с БД, убедитесь, что у вас работает простой уплоад, без всяких инклудов и тому подобного излишества, а уже потом идите дальше и разбирайтесь в чём дело.
|
SiMM |
20.10.2004 - 08:54
Сообщение
#13
|
Full Member Группа: Full member Сообщений: 94 Регистрация: 13.01.2004 Пользователь №: 29292 |
Цитата(viktod @ 20.10.2004 - 07:58) <? // upload.php if (isset($_POST['upload'])){ ... } И чего вы, интересно, ожидали от этого кода? Скажу вам по секрету - весь этот кусок вообще не несёт смысловой нагрузки, поскольку при описанных условиях никогда выполнен не будет. Цитата $content = addslashes($content); Подобные действия надо писать там, где нужно, а не разбрасывая по коду где попало, поскольку это грозит путаницей в дальнейшем (т.е. слеши в данных от пользователя - убираются в самом начале, добавляются - непосредственно при вводе в базу, это позовляет на протяжении всего кода не думать о том, в каких переменных у тебя есть слэши, а в каких нет). Для работы с MySQL существует http://php.net/mysql_escape_string, много полезного на тему слэшей можно почерпнуть из FAQ http://phpfaq.ru/slashesif(!get_magic_quotes_gpc()) $fileName = addslashes($fileName); |
viktod |
20.10.2004 - 21:47
Сообщение
#14
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Спасибо за ваш код - очень информативен по ошибкам. Но к сожалению мои эксперименты не привели опять к успеху. Посмотрите пожалуйста эти файлы:
Около формы: Notice: Undefined index: www.viktod.com/~viktod/bag/upload_forum.php in /usr/home/viktod/www/bag/upload_forum.php on line 5 менял на www.viktod.com/~viktod/bag/ результат тот же. При upload получаю: Notice: Undefined index: upload_forum.php in /usr/home/viktod/www/bag/upload_forum.php on line 13 Warning: Unable to create '/11.txt': Permission denied in /usr/home/viktod/www/bag/upload_forum.php on line 17 Warning: Unable to move '/var/tmp/phplyUvZq' to '/11.txt' in /usr/home/viktod/www/bag/upload_forum.php on line 17 Possible file upload attack! Here's some debugging info: Array ( [userfile] => Array ( [name] => 11.txt [type] => text/plain [tmp_name] => /var/tmp/phplyUvZq [error] => 0 [size] => 3 ) ) Права везде 777. Использовал этот код: <? // upload.php ini_set('display_errors',1); error_reporting(E_ALL); if (!isset($_FILES) || !count($_FILES)) echo <<<HTML <form enctype="multipart/form-data" action="{$_SERVER['www.viktod.com/~viktod/bag/upload_forum.php']}" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> HTML; else{ $uploaddir = dirname($_SERVER['upload_forum.php']).'/'; $uploadfile = $uploaddir . $_FILES['userfile']['name']; print "<pre>"; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded. "; echo "Here's some more debugging info:\n"; } else echo "Possible file upload attack! Here's some debugging info:\n"; print_r($_FILES); print "</pre>"; } ?> |
SiMM |
21.10.2004 - 10:32
Сообщение
#15
|
Full Member Группа: Full member Сообщений: 94 Регистрация: 13.01.2004 Пользователь №: 29292 |
Вам же PHP сказал, в чём дело. Возьмите англо-русский переводчик, переведите и осмыслите.
Цитата(viktod @ 20.10.2004 - 22:47) <form enctype="multipart/form-data" action="{$_SERVER['www.viktod.com/~viktod/bag/upload_forum.php']}" method="post"> Что-то я не вижу в своём коде подобного. Фразу "залейте наконец мой upload.php" нужно понимать буквально и не писать в коде отсебятину, тем более, если не понимаешь, что этот код выполняет. И вообще вам бы не помешало для начала хотя бы книжку какую по PHP почитать, для понимания того, что творите.... $uploaddir = dirname($_SERVER['upload_forum.php']).'/'; Сообщение было отредактировано SiMM: 21.10.2004 - 10:32 |
viktod |
21.10.2004 - 18:56
Сообщение
#16
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Зря ты мне парень грубишь. Я 6 лет уже живу в англоязычной стране. И хотел тебя уже почти пригласить платным консультантом на готовящийся проект
http:/// Нарушение правил п. III.7 "Сообщения личного характера, частные дискуссии - малополезные или бесполезные для других участников - переносить в режим "приват-общения" ( ПМ), чата или использовать электронную почту" Устное замечание. Ссылка затерта. Ann Сообщение было отредактировано Ann: 21.10.2004 - 19:33 |
Enoh |
23.10.2004 - 00:23
Сообщение
#17
|
Novice Группа: Пoльзователь Сообщений: 16 Регистрация: 2.07.2003 Пользователь №: 12577 |
viktod, Вы сами-то понимаете, чего хотите. Используйте функции или классы для того, чтобы разбить исходную задачу на несколько. Не стоит решать столь разные задачи, как работа с базой данных и загрузка файлов на сервер, в одном коде. Не пытайтесь написать работающую программу копируя отрывки кода из разных книг. ;)
|
viktod |
23.10.2004 - 00:46
Сообщение
#18
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Я потому и обратился на форум, чтобы понимать.
Код скопирован с одной книги. Насчет разделения задач вы правы, согласен. Последний код, который я послал сюда, был подсказан хорошим знатоком. Но я не знаю, что же нужно вставить вместо: 1. 'REQUEST_URI' в <form enctype="multipart/form-data" action="{$_SERVER['REQUEST_URI']}" 2. 'SCRIPT_FILENAME' в $uploaddir = dirname($_SERVER['SCRIPT_FILENAME']).'/'; Если вставляю в п 1. куда будут записываться данные, а во 2 - путь к этому скрипту - не работает. Пробовал разные варианты - без результата. (скрипт лежит 'www.viktod.com/~viktod/bag/upload_forum.php') О чем говорит этот лог? Как исправить эти ошибки? При upload получаю: Notice: Undefined index: upload_forum.php in /usr/home/viktod/www/bag/upload_forum.php on line 13 Warning: Unable to create '/11.txt': Permission denied in /usr/home/viktod/www/bag/upload_forum.php on line 17 Warning: Unable to move '/var/tmp/phplyUvZq' to '/11.txt' in /usr/home/viktod/www/bag/upload_forum.php on line 17 Possible file upload attack! Here's some debugging info: Array ( [userfile] => Array ( [name] => 11.txt [type] => text/plain [tmp_name] => /var/tmp/phplyUvZq [error] => 0 [size] => 3 ) ) Спасибо. |
Enoh |
23.10.2004 - 01:19
Сообщение
#19
|
Novice Группа: Пoльзователь Сообщений: 16 Регистрация: 2.07.2003 Пользователь №: 12577 |
Для того, чтобы лучше понять смысл серверных переменных, попробуй запустить этот скрипт:
<?php foreach($_SERVER as $v1=>$v2) { echo '$_SERVER[\''.$v1.'\'] = '.$v2.'<br/>'; } ?> |
Enoh |
23.10.2004 - 01:30
Сообщение
#20
|
Novice Группа: Пoльзователь Сообщений: 16 Регистрация: 2.07.2003 Пользователь №: 12577 |
Если это, возможно, не мог бы ты привести целиком исходный код и объяснить, что он должен делать по твоему мнению.
|
viktod |
23.10.2004 - 05:15
Сообщение
#21
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Код маленький, а информации выдал много, спасибо. Там же я и нашел ответ на свои вопросы. Код вроде работает, сообщение выдает, что "File is valid, and was successfully uploaded."
Но: 1. файла нет, куда код его записал: [tmp_name] => C:\WINDOWS\TEMP\php139.tmp (опция показывать все файлы включена). 2. Два messages получаю во время выполнения кода. О чем это говорит? Notice: Undefined index: /bag/upload_forum2.php in c:\web\bag\upload_forum2.php on line 6 Notice: Undefined index: c:/web/bag/upload_forum2.php in c:\web\bag\upload_forum2.php on line 14 Использовал этот код: <? // upload.php ini_set('display_errors',1); error_reporting(E_ALL); if (!isset($_FILES) || !count($_FILES)) echo <<<HTML <form enctype="multipart/form-data" action="{$_SERVER['/bag/upload_forum2.php']}" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> HTML; else{ $uploaddir = dirname($_SERVER['c:/web/bag/upload_forum2.php']).'/'; $uploadfile = $uploaddir . $_FILES['userfile']['name']; print "<pre>"; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded. "; echo "Here's some more debugging info:\n"; } else echo "Possible file upload attack! Here's some debugging info:\n"; print_r($_FILES); print "</pre>"; } ?> |
SiMM |
23.10.2004 - 08:53
Сообщение
#22
|
Full Member Группа: Full member Сообщений: 94 Регистрация: 13.01.2004 Пользователь №: 29292 |
Цитата(viktod @ 23.10.2004 - 01:46) Но я не знаю, что же нужно вставить вместо: Ничего не нужно туда вставлять - нужно честно слизать код, который я вам привёл, и НИЧЕГО НЕ МЕНЯЯ положить его на хостинг. Запустить и убедиться, что код у вас работает. Об этом, между прочим, я вам сразу сказал - а вы восприняли это в штыки и сочли личным оскорблением. Очень проблематично помочь человеку, который не выполняет чётко данных инструкций - сразу возникает желание забить на него. Если вы не знаете, что такое $_SERVER['REQUEST_URI'] или $_SERVER['SRCIPT_NAME'] - об этом надо было просто спросить, а код вначале попробовать, ничего не меняя в нём. Крайне рекомендую при возникновении проблем почаще лазить в мануал - в вашем случае читать http://php.net/manual/ru/language.variables.predefined (предопределённые переменные) и http://php.net/manual/ru/reserved.variables#reserved.variables.server (Server variables: $_SERVER)1. 'REQUEST_URI' в <form enctype="multipart/form-data" action="{$_SERVER['REQUEST_URI']}" 2. 'SCRIPT_FILENAME' в $uploaddir = dirname($_SERVER['SCRIPT_FILENAME']).'/'; |
Enoh |
23.10.2004 - 12:46
Сообщение
#23
|
Novice Группа: Пoльзователь Сообщений: 16 Регистрация: 2.07.2003 Пользователь №: 12577 |
viktod
После некоторой доработке твой код выглядит так <?php header('Content-type: text/html; charset=Windows-1251'); ini_set('display_errors',1); error_reporting(E_ALL); function show_form($error = '') { if ($error) { print '<font color="red">Ошибка: </font>'.$error; } print<<< _HTML_ <form enctype="multipart/form-data" method="post" action="$_SERVER[PHP_SELF]"> Send this file: <input name="userfile" type="file"/> <input type="hidden" name="MAX_FILE_SIZE" value="30000"/> <input type="hidden" name="fupload"/> <input type="submit" value="Send File"/> </form> _HTML_; } function validate_form($file_error) { $error = ''; if (($file_error == UPLOAD_ERR_INI_SIZE)||($file_error == UPLOAD_ERR_FORM_SIZE)) { $error = 'загружаемый файл имеет слишком большой размер.'; } elseif ($file_error == UPLOAD_ERR_PARTIAL) { $error = 'загрузка файла была прервана.'; } elseif ($file_error == UPLOAD_ERR_NO_FILE) { $error = 'файл не загружен.'; } return $error; } if (isset($_POST['fupload'])) { $file_name = $_FILES['userfile']['name']; // Исходное имя файла $file_tmp_name = $_FILES['userfile']['tmp_name']; // Имя файла на web-сервере $file_size = $_FILES['userfile']['size']; // размер файла в байтах $file_type = $_FILES['userfile']['type']; // MIME-тип файла, например: image/gif, text/plain $file_error = $_FILES['userfile']['error']; // код ошибки $upload_dir = $_SERVER['DOCUMENT_ROOT'].'/uploads/'; // Путь к папке на сервере, куда необходимо переместить загруженный файл if ($form_error = validate_form($file_error)) { show_form($form_error); } else { if (@move_uploaded_file($file_tmp_name, $upload_dir.$file_name)) { print 'Файл "'.$file_name.'" успешно загружен в директорию '.$upload_dir; } else { print 'Файл не возможно сохранить в директории '.$upload_dir; } } } else { show_form(); } ?> Всё проверено, работает 100% ;) Сообщение было отредактировано Enoh: 23.10.2004 - 16:23 |
viktod |
23.10.2004 - 20:25
Сообщение
#24
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Спасибо ребята. С вашей помощью я сделал большой шаг вперед.
|
viktod |
23.10.2004 - 23:41
Сообщение
#25
|
Novice Группа: Пoльзователь Сообщений: 22 Регистрация: 12.09.2004 Пользователь №: 60020 |
Что-то у меня опять сбой.
На моем комп. ваш код работает прекрасно. Перенес на сервер, сделал 777 (для страховки) и не работает: Notice: Use of undefined constant UPLOAD_ERR_INI_SIZE - assumed 'UPLOAD_ERR_INI_SIZE' in /usr/home/viktod/www/bag/upload_forum4.php on line 25 Ошибка: загружаемый файл имеет слишком большой размер. Загружаю тот же самый файл, что и на домашней машине - 1кб. Да и др. не хочет загружать. Увеличивал в коде разрешаемый размер - без результата. Удалял из кода эту проверку - выскакивает следующая; UPLOAD_ERR_PARTIAL. Я понимаю, что чудес не бывает, но в чем же дело? Спасибо. |
Реклама
|
|
|
|
|
|
Текстовая версия | Сейчас: 18.04.2024 - 04:48 |
|