Я новичок в PHP, поэтому просьба относится с пониманием. Есть пример из книги (также есть подобный вопрос возник после просмотра видеурока) по отправки файлов с компьютера пользователя на сервер: 1) Форма для отправки файла: Код (Text): <html> <head> <title>Administration — upload new files</title> </head> <body> <h1>Upload new news files</h1> <form enctype="multipart/form-data" action="upload.php" method=post> <input type="hidden" name="MAX_FILE_SIZE" value="1000"> Upload this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> </body> </html> 2) PHP-код, обрабатывающий отправку файла на сервер: Код (Text): <head> <title>Uploading...</title> </head> <body> <hl>Uploading</h1> <? if ($_FILES['userfile']=="none") { echo "Problem: no file uploaded"; exit; } if ($_FILES['userfile']['size']==0) { echo "Problem: uploaded file is zero length"; exit; } if ($_FILES['userfile']['type'] != "text/plain") { echo "Problem: file is not plain text" ; exit; } if (!is_uploaded_file($_FILES['userfile']['name'])) { echo "Problem: possible file upload attack"; exit; } $upfile = "/home/book/uploads/".$userfile_name ; if (!copy($_FILES['userfile']['name'], $upfile)) { echo "Problem: Could not move file into directory"; exit ; } echo "File uploaded successfully<br><br>" ; $fp = fopen ($upfile, "r") ; $contents = fread ($fp, filesize ($upfile) ) ; fclose ($fp) ; $contents = strip_tags ($contents) ; $fp = fopen ($upfile, "w") ; fwrite($fp, $contents) ; fclose ($fp) ; echo "Preview of uploaded file contents : <br><br>" ; echo $contents; echo "<br><br>" ; ?> </body> </html> У меня возникли следующие вопросы: 1) Почему в html-коде у кнопки типа `submit` не задано свойство `name`, например, `name="send"` и впоследствии обработка свойств посылаемого файла в php-коде не происходит внутри следующего условия: Код (Text): if (isset($_POST['send']) { if ($userfile=="none") { echo "Problem: no file uploaded"; exit; } if ($userfile_size==0) { echo "Problem: uploaded file is zero length"; exit; } .... } (в видеуроке также не используется условия нажатия на кнопу типа `submit` и используется условие `if ($_FILES)`) 2) Прочитав http://php.ru/manual/function.is-uploaded-file.html , правильно ли я понял, что функция `is_uploaded_file` проверяет был ли выбран файл с компьютера для отправки на сервер?
Откуда в твоем коде возьмется переменная $userfile и другие? В справке, на которую ты ссылаешся, всё четко и по русски написано. Например что надо использовать переменную $_FILES. Используй. Добавлено спустя 3 минуты 4 секунды: p.s. в старых книгах примеры подразумевают register_globals=on. это стремная фигня! чем пытаться в уме переводить ошибочный код на нормальный, лучше найти современную книгу по PHP 5.
Со всем согласен - исправил, но вопросы были не в этом и в ответ на загрузку файла с компа (я использую Denwer) выдает (это второй вопрос, есть ещё и первый)
1) ты же осознал проблему и понял как решать. действуй. 2) в доках написано, что да, функция для этого. но ты неправильно скопировал имя индекса в доках прямо русским по белому написано: