Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Загрузка файлов на сервер (http://www.flasher.ru/forum/showthread.php?t=126498)

meetRICH 20.06.2009 19:07

Загрузка файлов на сервер
 
Доброго времени суток. Я в пхп новичок. Имеется код html:
Код:

<html><head><title> Загрузка файлов на сервер </title></head><body>
<h2><b> Форма для загрузки файлов </b></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>

и код php:
Код:

<html>
 <head>
  <title> Результат загрузки файла </title>
</head>
<body>
<?php
 if(copy($_FILES["filename"]["tmp_name"],
    "temp/".$_FILES["filename"]["name"]))
{
 echo ("Файл успешно загружен");
}
else
{
 echo ("Ошибка при загрузке");
}
?>
 </body>
</html>

Запускаю html, выбираю маленькую картинку, жму "загрузить".. пустой экран браузера..
пробую заменить код php на другой:
Код:

<html>
<head>
  <title>Результат загрузки файла</title>
</head>
<body>
<?php
  if($_FILES["filename"]["size"] > 1024*3*1024)
  {
    echo ("File size more then 3M");
    exit;
  }
  if(copy($_FILES["filename"]["tmp_name"],
    "/upload".$_FILES/["filename"]["name"]))
  {
    echo("file succesfully upload <br>");
    echo("File discription: <br>");
    echo("File name: ");
    echo($_FILES["filename"]["name"]);
    echo("<br>File size: ");
    echo($_FILES["filename"]["size"]);
    echo("<br>File path: ");
    echo($_FILES["filename"]["tmp_name"]);
    echo("<br>File type: ");
    echo($_FILES["filename"]["type"]);
  } else {
      echo("Error uploading file");
  }
?>
</body>
</html>

..запускаю - мне выводит браузер:
1024*3*1024) { echo ("File size more then 3M"); exit; } if(copy($_FILES["filename"]["tmp_name"], "/upload".$_FILES/["filename"]["name"])) { echo("file succesfully upload
"); echo("File discription:
"); echo("File name: "); echo($_FILES["filename"]["name"]); echo("
File size: "); echo($_FILES["filename"]["size"]); echo("
File path: "); echo($_FILES["filename"]["tmp_name"]); echo("
File type: "); echo($_FILES["filename"]["type"]); } else { echo("Error uploading file"); } ?>

Выбранного файлика нету в темповских папках пхп, да и браузер не говорит, что файл успешно загружен.
Код брал в pdf-книжке.. думал, описка. Набирал код руками с нуля... потом нашёл аналогичный в инете - та же песня... Подскажите, в чём моя ошибка. Заранее благодарен.

Mtnt 20.06.2009 21:44

echo пишется без скобок, просто echo "something"
для переноса загруженного файла используется не copy, а move_uploaded_file

kup 20.06.2009 23:34

Надо начинать осваивать с "Hello, world!" у вас PHP не работает, как бы совсем. :)

meetRICH 20.06.2009 23:43

Большое спасибо за помощь.. но я всё-таки разобрался сам.. писать echo можно и со скобками.. и копиравать copy...
Всё дело было в том, что я копировал в несуществующую папку.. т.е. я просто создал папку temp, которая была прописана в коде. А ещё, я открывал html напрямую с папки (из проводника)..но когда я прописал в адресной строке http://localhost/index.html - вуаля! :)


Часовой пояс GMT +4, время: 22:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.