Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не работает загрузка файлов на сервер
 
 автор: dima2207   (28.03.2007 в 08:25)   письмо автору
 
 

Обясните мне мне пожалуйста почему не работает аплоад , вернее ошибок нет , а картинка не грузится , т.е какая была когда я создавал файл , такая и остается , Почему ?
права на файл установленны 666.

 <form enctype="multipart/form-data" action="upload.php" method="post">
 <input type="hidden" name="MAX_FILE_SIZE" value="3000" />
 картинка: <input name="userfile" type="file" />
 <input type="submit" value="Send File" />
</form>


  <?php
$t
=$_POST['userfile'];
 
$file fopen ("file.jpg","r+b");
  if ( !
$file )
  {
    echo(
"ошибка");
  }
  else
  {
    
fputs $file$t);
  }
  
fclose ($file);
?>

   
 
 автор: Trianon   (28.03.2007 в 09:35)   письмо автору
 
   для: dima2207   (28.03.2007 в 08:25)
 

В массиве $_POST никогда не будет файлов.
Курим это вообще и это вчастности.

   
 
 автор: cheops   (28.03.2007 в 13:10)   письмо автору
 
   для: dima2207   (28.03.2007 в 08:25)
 

Возможно вас заинтересует скрипт по ссылке http://www.softtime.ru/scripts/upload.php.

   
 
 автор: Donval   (28.03.2007 в 14:56)   письмо автору
 
   для: cheops   (28.03.2007 в 13:10)
 

Этот скрипт не работает, вот результат:

1024*3*1024) { echo ("Размер файла превышает три мегабайта"); exit; } if(copy($_FILES["filename"]["tmp_name"], "D:\Work\Valeriy\Work\PHP\".$_FILES["filename"]["name"])) { echo("Файл успешно загружен
"); echo("Характеристики файла:
"); echo("Имя файла: "); echo($_FILES["filename"]["name"]); echo("
Размер файла: "); echo($_FILES["filename"]["size"]); echo("
Каталог для загрузки: "); echo($_FILES["filename"]["tmp_name"]); echo("
Тип файла: "); echo($_FILES["filename"]["type"]); } else { echo("Ошибка загрузки файла"); } ?>

Это то, что он отображает.
Так как я новичок, то не знаю, как это исправить. :-)

   
 
 автор: Trianon   (28.03.2007 в 16:08)   письмо автору
 
   для: Donval   (28.03.2007 в 14:56)
 

Вы явно с ошибкой скопировали текст скрипта. Скопируйте еще раз. Аккуратнее.

   
 
 автор: Donval   (29.03.2007 в 11:55)   письмо автору
 
   для: Trianon   (28.03.2007 в 16:08)
 

Повторил, результат тот же.

вот скопированный скрипт:


<html>
<head>
  <title>Результат загрузки файла</title>
</head>
<body>

<?php
   
if($_FILES["filename"]["size"] > 1024*3*1024)
   {
     echo (
"Размер файла превышает три мегабайта");
     exit;
   }
   if(
copy($_FILES["filename"]["tmp_name"],
     
"c:/temp/".$_FILES["filename"]["name"]))
   {
     echo(
"Файл успешно загружен <br>");
     echo(
"Характеристики файла: <br>");
     echo(
"Имя файла: ");
     echo(
$_FILES["filename"]["name"]);
     echo(
"<br>Размер файла: ");
     echo(
$_FILES["filename"]["size"]);
     echo(
"<br>Каталог для загрузки: ");
     echo(
$_FILES["filename"]["tmp_name"]);
     echo(
"<br>Тип файла: ");
     echo(
$_FILES["filename"]["type"]);
   } else {
      echo(
"Ошибка загрузки файла");
   }
?>


</body>
</html>


А вот ошибка:

1024*3*1024) { echo ("Размер файла превышает три мегабайта"); exit; } if(copy($_FILES["filename"]["tmp_name"], "c:/temp/".$_FILES["filename"]["name"])) { echo("Файл успешно загружен
"); echo("Характеристики файла:
"); echo("Имя файла: "); echo($_FILES["filename"]["name"]); echo("
Размер файла: "); echo($_FILES["filename"]["size"]); echo("
Каталог для загрузки: "); echo($_FILES["filename"]["tmp_name"]); echo("
Тип файла: "); echo($_FILES["filename"]["type"]); } else { echo("Ошибка загрузки файла"); } ?>

   
 
 автор: Trianon   (29.03.2007 в 12:06)   письмо автору
 
   для: Donval   (29.03.2007 в 11:55)
 

Еще раз тоже самое.
Ошибка, вероятно, вызвана появлением символа вопроса перед знаком "больше" в строке if($_FILES["filename"]["size"] > 1024*3*1024)

Откуда он там берется, кроме Вас, врядли кто знает.

   
 
 автор: mihdan   (29.03.2007 в 17:36)   письмо автору
 
   для: Trianon   (29.03.2007 в 12:06)
 

Наверно просто через браузер открывал файл, а не через локалхост?????????????????

   
 
 автор: Trianon   (29.03.2007 в 17:45)   письмо автору
 
   для: mihdan   (29.03.2007 в 17:36)
 

Это же обработчик?!
Но идея зачетная. :))))

to Donval:
Простите, а другие php-скрипты у Вас выполняются?
Например, такой:
<?php 
  phpinfo
();
?>

   
 
 автор: Unkind   (29.03.2007 в 18:01)   письмо автору
 
   для: Trianon   (29.03.2007 в 12:06)
 

Ошибка, вероятно, вызвана появлением символа вопроса перед знаком "больше" в строке
Тогда бы Parse error появилась.
Точно с помощью браузера просто открыли файл :)

   
 
 автор: Donval   (29.03.2007 в 12:03)   письмо автору
 
   для: Trianon   (28.03.2007 в 16:08)
 

Все в порядке. Нашел в чем причина. Спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования