Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: не загружвет файлы больше 7mb

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: дело не в upload_max_filesize в php.ini
likvidator
Отправлено: 19 Марта, 2013 - 18:53:56
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


Доброго времени суток. Сталкнулся со странной проблемой,делая загрузку музыки на сайт. Помогите,если не тяжело)). Страница отправки:
-------------------------------- -------------------------------- -------------------------------- ----------
CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2.         function SendMusic() {
  3.     //отправка файла на сервер
  4.             $$f({
  5.                 formid:'music_send',//id формы
  6.                 url:'music.php',//адрес на серверный скрипт который будет принимать файл
  7.         onstart:function () {//действие при начале загрузки файла
  8.            $$('music_result','Начинаю отправку файла...');//в элемент с id="music_result" выводим результат
  9.                 },
  10.         onsend:function () {//действие по окончании загрузки файла
  11.                
  12.                     $$('music_result',$$('music_result').innerHTML+'<br />');//в элемент с id="music_result" выводим результат
  13.                 }
  14.     });
  15.         }
  16.         </script>

CODE (html):
скопировать код в буфер обмена
  1. <form id="music_send" method="post" enctype="multipart/form-data" onSubmit="SendMusic();return false">
  2.         <input class="file_form" type="file" name="upload_file"/><br/>
  3.         <div id="music_result">Выберите файл и нажмите на кнопку "Загрузить"...</div><b /><br/>
  4.         <button  class="clean-gray" >Загрузить</button><br/></form><br/>
  5.         <button onclick="music_refresh();" class="clean-gray" >Обновить</button>

А вот и music.php:

CODE (javascript):
скопировать код в буфер обмена
  1. <script src="/js/jquery-1.7.2.js" type="text/javascript"></script>
  2. <script src="/js/music_refresh.js" type="text/javascript"></script>

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     function uploadHandle($max_file_size = 100, $valid_extensions = array(), $upload_dir = '.')  
  3.     {  
  4.         $error = null;  
  5.         $info  = null;  
  6.         $max_file_size = '20971520';   
  7.         include 'connect.php';
  8.         if ($_FILES['upload_file']['error'] === UPLOAD_ERR_OK)  
  9.         {  
  10.             // проверяем расширение файла  
  11.             $file_extension = pathinfo($_FILES['upload_file']['name'], PATHINFO_EXTENSION);
  12.                         $_FILES['upload_file']['name'] = "1.$file_extension";          
  13.             if (in_array($file_extension, $valid_extensions))  
  14.             {  
  15.                 // проверяем размер файла  
  16.                 if ($_FILES['upload_file']['size'] < $max_file_size)  
  17.                 {  
  18.                                     $id = $_SESSION['id'];
  19.                                     $_FILES['upload_file']['name'] = $id."lo123оjj.$file_extension";
  20.                                         $id = $_FILES['upload_file']['name'];
  21.                     $destination = $upload_dir .'/' . $_FILES['upload_file']['name'];  
  22.                     if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $destination)){                         
  23.                         $info = '<b><div id=i_t3>Музыка успешно загружена</div></b>';                                  
  24.                     }else{
  25.                         $error = 'Не удалось загрузить файл';}
  26.                 }  
  27.                 else  
  28.                     $error = 'Размер файла больше допустимого';  
  29.             }  
  30.             else  
  31.                 $error = 'У файла недопустимое расширение';  
  32.         }  
  33.         else  
  34.         {  
  35.             // массив ошибок  
  36.             $error_values = array(
  37.  
  38.                 UPLOAD_ERR_INI_SIZE   => 'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',  
  39.                 UPLOAD_ERR_FORM_SIZE  => 'Размер файла превышает указанное значение в MAX_FILE_SIZE',                            
  40.                 UPLOAD_ERR_PARTIAL    => 'Файл был загружен только частично',  
  41.                 UPLOAD_ERR_NO_FILE    => 'Не был выбран файл для загрузки',  
  42.                 UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',  
  43.                 UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'
  44.  
  45.                                   );  
  46.      
  47.             $error_code = $_FILES['upload_file']['error'];  
  48.      
  49.             if (!empty($error_values[$error_code]))  
  50.                 $error = $error_values[$error_code];  
  51.             else  
  52.                 $error = 'Случилось что-то непонятное';  
  53.         }  
  54.      
  55.         return array('info' => $info, 'error' => $error);  
  56.     }  
  57.      
  58. /////////////////////////////////////////////////////////////////////      
  59.     $extensions = array('mp3');  
  60.     $upload_dir = 'images/av/';  
  61.      
  62.     // Запускаем функцию  
  63.     if(!empty($_FILES['upload_file']))
  64.     {      
  65.         $message = uploadHandle(200, $extensions, $upload_dir);  
  66.    
  67.         // Выводим сообщение
  68. echo'
  69.       <script type="text/javascript">
  70.                 var elm=parent.window.document.getElementById("music_result");
  71.         elm.innerHTML=elm.innerHTML+"<br />Получен файл '.$_FILES['upload_file']['name'].' размером '.$_FILES['upload_file']['size'].' байт/';         
  72.         echo $message['error'] ? $message['error'] : $message['info'];
  73. echo '";
  74.  </script>';           
  75.     }
  76. ?>

-------------------------------- -------------------------------- -------------------------------- -----------
Причем что самое интересное: скрипт отлично работает с файлами меньше 7mb!! Если файл больше,то в логе апача нахожу следующее: File does not exist. Почему???
 
 Top
caballero
Отправлено: 19 Марта, 2013 - 18:57:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




ничего интересного - настройки в php.ini
upload_max_filesize
post_max_size

(Отредактировано автором: 19 Марта, 2013 - 18:58:58)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
likvidator
Отправлено: 19 Марта, 2013 - 19:11:46
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


caballero пишет:
ничего интересного - настройки в php.ini
upload_max_filesize
post_max_size

post_max_size = 8M
а я и не знал((((
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB