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

Форум PHP

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

 

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

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

тема: Проблеммы с загрузкой больших файлов на сервер
 
 автор: Eser   (22.11.2010 в 17:59)   письмо автору
 
 

Народ подскажите скрипт ругается при загрузки файлов >30мегов(в php.ini, upload_max_filesize = 500M)
Warning: copy() [function.copy]: Filename cannot be empty in /var/www/mail/php/test/upload.php on line 14
Ошибка загрузки файла

Собственно типа имя файла не может быть пустым. И действительно при загрузке больших файлов массив $_FILES["filename"] -становиться пустым. Скрипт запускаю на Linux машине. С мелкими файлами все ok.

 <html>
  <head><META HTTP-EQUIV='Content-Type CONTENT=text/html; charset=UTF-8'></head>
    <title>Результат загрузки файла</title>
  </head>
  <body>
  
  <?php
    
if($_FILES["filename"]["size"] > 1024*500*1024)
    {
      echo (
"Размер файла превышает три мегабайта");
      exit;
    }
   if(
copy($_FILES["filename"]["tmp_name"],
      
"/var/www/mail/temp/".$_FILES["filename"]["name"]))
    {
     echo(
"Файл успешно загружен <br>");
      echo(
"Характеристики файла: <br>");
      echo(
"Имя файла: ");
      echo(
$_FILES["filename"]["name"]);
     echo(
"<br>Размер файла: ");
      echo(
$_FILES["filename"]["size"]);
    
     echo(
"<br>Тип файла: ");
     echo(
$_FILES["filename"]["type"]);
  } else {
       echo(
"Ошибка загрузки файла");
    }
  
?>

  Ответить  
 
 автор: slo_nik   (22.11.2010 в 18:42)   письмо автору
 
   для: Eser   (22.11.2010 в 17:59)
 

Ошибка Вам говорит, что имя файла не может быть пустым.
Вот и проверяйте, где Вы теряете это имя.
В самом начале php кода вывидите дам массива FILES , что бы Вам было видно, что в нём находится.
Не используйте функцию copy().
Для загрузки больших файлов одной директивы upload_max_filesize мало, на загрузку влияют значение и других директив.

  Ответить  
 
 автор: Eser   (22.11.2010 в 21:25)   письмо автору
 
   для: slo_nik   (22.11.2010 в 18:42)
 

Почитал спасибо но проблему все равно не понимаю как решить. В одной из статей было:
Если Вы получили сообщение "POST Method Not Allowed" то надо сделать
<Limit POST >
Order allow,deny
Allow from all
</Limit>

Но такого сообщения не появляеться, да и чего то похожего в httpd.conf я не нашел

Используя move_uploaded_file(), такая же фигня(маленькие файлы загружаются, а большие нет). Делаю уже в Windows.
В php.ini установил post_max_size=500M, ну и upload_max_filesize = 500M
<form action="upload.php" method="post" enctype="multipart/form-data">

В начале написал print_r($_FILES) вот что он выводит при загрузке большого файла в 40Мб:
Array ( [filename] => Array ( [name] => avira_antivir_personal_en.exe [type] => [tmp_name] => [error] => 1 [size] => 0 ) ) Ошибка загрузки файла


Тута мне здается что где в настройках php или apache что нужно поменять и разрешить. Вот только что?

  Ответить  
 
 автор: Slo_Nik   (22.11.2010 в 22:07)   письмо автору
 
   для: Eser   (22.11.2010 в 21:25)
 

[error] => 1 говорит о том, что размер файла больше, чем установлено директивой upload_max_filesize в php.ini
Проверьте внимательней Ваши настройки
p.s. Больше ни каких ошибок/предупреждений скрипт не выдаёт?

  Ответить  
 
 автор: Trianon   (22.11.2010 в 23:02)   письмо автору
 
   для: Eser   (22.11.2010 в 21:25)
 

>Тута мне здается что где в настройках php или apache что нужно поменять и разрешить. Вот только что?

Тут мне здается, что php.net/upload Вы не читали...

  Ответить  
 
 автор: sim5   (22.11.2010 в 19:30)   письмо автору
 
   для: Eser   (22.11.2010 в 17:59)
 

post_max_size

  Ответить  
Rambler's Top100
вверх

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