Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка больших файлов на сервер. 
V
    Опции темы
NNaarreekk
Дата 23.11.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Вопрос уже поднимался, но у меня немножко другая проблема.

Если загружаем маленкий файл то все OK.
А как только файлики становятся пару MB то Game Over!

Оказалось что при больших файлах переменная поступает пустой.
Скрипт на одном хостинге работает, на другом - нет.

И сааааааамое интересное что в локале не работает smile

Буду рад любой помощи (можно и денги на счет передавать;))


PM MAIL WWW   Вверх
Nagash
Дата 24.11.2007, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 4.10.2007

Репутация: нет
Всего: нет



в php.ini исправь upload_max_filesize = 2M на нужный размер.

Но лучше в сценарии: ini_set("upload_max_filesize", 5M) - укажи нужный размер.

скорее всего проблема в этом, но могут быть и варианты.

PM MAIL   Вверх
NNaarreekk
Дата 24.11.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Спасибо за совет.

Сейчас попробую!
PM MAIL WWW   Вверх
NNaarreekk
Дата 24.11.2007, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Что-то не получилось!:(

Код

<form action='?z=1' method='post' enctype='multipart/form-data'>
<input type='file' name='nkar'></input>
<input type='submit'>
</form>
<?
if($z==1){
ini_set("upload_max_filesize", "25M");
 $nkar = $HTTP_POST_FILES['nkar']['tmp_name'];
  $nkar_name = $HTTP_POST_FILES['nkar']['name'];
  $nkar_size = $HTTP_POST_FILES['nkar']['size'];
  $nkar_type = $HTTP_POST_FILES['nkar']['type'];
  $nkar_error = $HTTP_POST_FILES['nkar']['error'];
if ($nkar_error > 0)
  {
    echo 'Problem: ';
    switch ($nkar_error)
    {
      case 1:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 2:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 3:  echo 'Загрузка файла произошла частично!<br>';  break;
      case 4:  echo 'Файл не загружен!<br>';  break;
    }
    exit;
  }
   if (is_uploaded_file($nkar))
  {
     if (!move_uploaded_file($nkar, $nkar_name))
     {
        echo 'Продлема: Невозможно перенести файл!<br>';
        exit;
     }
  } 
  else 
  {
    echo 'Problem: Possible file upload attack. Filename: '.$nkar_name;
    exit;}
}
?>


Вот примерно такой код есть.
Если файл большой то дает ошибку
'Problem: Possible file upload attack. Filename: '

Это сообщение отредактировал(а) NNaarreekk - 24.11.2007, 14:12
PM MAIL WWW   Вверх
SDEVIL
Дата 24.11.2007, 15:32 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 30.10.2006

Репутация: 1
Всего: 1



Необходимо создать файлик в директории где расположен скрипт с загрузкой:
Название ".htaccess"
Содержание файла:
Код

php_value upload_max_filesize 50M
php_value post_max_size 50M

<IfModule mod_charset.c> 
  CharsetRecodeMultipartForms off 
  # и другие директивы mod_charset
</IfModule>


И вот скрипт самой загрузки:
Это в самом начале файла пишеш:
Код

<?
set_time_limit(0);
?>


Скрипт загрузки:
Код

    echo("Настройки сервера: <br>");
    echo("upload_max_filesize: ".ini_get("upload_max_filesize")."<br>");
    echo("post_max_size: ".ini_get("post_max_size")."<br>");

  
   if($_FILES["filename"]["size"] > 1024*50*1024)
   {
     echo ("Размер файла превышает 50 мегабайт");
     exit;
   }
   if(copy($_FILES["filename"]["tmp_name"],
     $_SERVER["DOCUMENT_ROOT"].'/'.$_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($_SERVER["DOCUMENT_ROOT"].'/'.$_FILES["filename"]["name"]);
     echo("<br>Тип файла: ");
     echo($_FILES["filename"]["type"]);
   } else {
      echo("Ошибка загрузки файла");
   }



Сам парился ОЧЕНЬ долго, но этот скрипт работает! smile По крайней мере где апач...
--------------------
Подпись сбежала к другому юзверю....
PM MAIL   Вверх
NNaarreekk
Дата 24.11.2007, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



SDEVIL, спасибо за код. В этом случае уже не надо но пригодится!


Nagash
Цитата(Nagash @  24.11.2007,  01:55 Найти цитируемый пост)
ini_set("upload_max_filesize", 5M)


Сработало!


Точнее у меня не сработало, пока я думал почему позвонил заказчик и поблогодарил за хорошую работу  smile 
PM MAIL WWW   Вверх
Anarki
Дата 25.11.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



Цитата(NNaarreekk @ 24.11.2007,  20:01)
SDEVIL, спасибо за код. В этом случае уже не надо но пригодится!


Nagash
Цитата(Nagash @  24.11.2007,  01:55 Найти цитируемый пост)
ini_set("upload_max_filesize", 5M)


Сработало!


Точнее у меня не сработало, пока я думал почему позвонил заказчик и поблогодарил за хорошую работу  smile

Это уже устарело.
Цитата

upload_max_filesize    "2M"    PHP_INI_PERDIR    PHP_INI_ALL in PHP <= 4.2.3.

Для php версии  выше 4.2.3, в скрипте нельзя устанавливать через ini_set

http://www.php.net/manual/en/ini.php#ini.list


--------------------
PM WWW   Вверх
NNaarreekk
Дата 25.11.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Anarki, а ка же сделать?

А если на сервервере поменяют версию PHP что код не будет работать?
PM MAIL WWW   Вверх
Anarki
Дата 25.11.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



Цитата(NNaarreekk @ 25.11.2007,  19:27)
Anarki, а ка же сделать?

А если на сервервере поменяют версию PHP что код не будет работать?

Я имел ввиду, что если в скрипте писать, может и не сработать (ini_set('upload_max_filesize',...))
А до этого примеры приводили верные, в .htaccess можно записать и кинуть в папку.
И вообще в мануале расписано же насчет этого, что можно включать и где(везде, в php.ini в .htaccess или httpd.conf)



--------------------
PM WWW   Вверх
NNaarreekk
Дата 28.11.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Ну главное что заработало!

Спасибо всем!
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1058 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.