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
Форумы портала PHP.SU :: Версия для печати :: Не срабатывает цыкл обработки загрузки файлов
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Не срабатывает цыкл обработки загрузки файлов

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

1. biryukovm - 15 Октября, 2015 - 02:46:17 - перейти к сообщению
Привет форумчане.
У меня проблема такая. Я наше и переделал код и я мгу получить файл и записать его в нужную дерикторию. Но теперь проблема я не могу загружать несколько файлов

CODE (html):
скопировать код в буфер обмена
  1. <tr><td style="vertical-align: middle;"><label>Файл</label></td><td><input name="file[]" type="file"></td></tr>
  2. <tr><td style="vertical-align: middle;"><label>Файл</label></td><td><input name="file[]" type="file"></td></tr>


PHP:
скопировать код в буфер обмена
  1. $flag_file = 0;
  2. // Создаем каталог с датой
  3. if (is_dir("file/".date("m_Y"))){$flag_file = $flag_file+1;}else{@mkdir('file/'.date("m_Y"), 0777);chmod('file/'.date("m_Y"),0777);if (is_dir("file/".date("m_Y"))){$flag_file = $flag_file+1;}}
  4. // Зная что каталог с датой создан проверяем есть ли папка пользователя
  5. IF ($flag_file == 1){if (is_dir("file/".date("m_Y").'/'.$_SESSION['auth_id'])){$flag_file = $flag_file+1;}else{@mkdir('file/'.date("m_Y").'/'.$_SESSION['auth_id'], 0777);chmod('file/'.date("m_Y").'/'.$_SESSION['auth_id'],0777);if (is_dir("file/".date("m_Y").'/'.$_SESSION['auth_id'])){$flag_file = $flag_file+1;}}}
  6. $file_put = "file/".date("m_Y").'/'.$_SESSION['auth_id']."/"; // путь для сохранения
  7.  
  8.  
  9. //цыкл который я создавал
  10. foreach($_FILES['file']['name'] as $k=>$f) {if (!$_FILES['file']['error'][$k]) {
  11. //цыкл который я создавал
  12.  
  13.  
  14.     ini_set('memory_limit', '64M');
  15.     $maxsize = "100000000";
  16.     $extentions = array( "gif","txt","tpl","jpg","jpeg","png","zip", "rar","7z","tif","psd","swf","flv","avi","mpeg","mp4","mp3","wav", "ogg","ogm","doc","xls","ppt","djvu","djv","pdf","xlsx","xlsm","xlsb","xltm","xlam","xml","xlt","docx","docm","doc","dotx","dot");
  17.     $size = filesize ($_FILES['file']['tmp_name'][$k]);
  18.     $type = strtolower(substr($filename, 1+strrpos($filename,".")));
  19.     $new_name = $_FILES['file']['name'][$k];// имя файла
  20.         $new_name = strtr(stripWhitespaces($new_name), " ", "_");// с помощью функции мы удоляем невидемые символы и убираем проблеы заменяя слэшем
  21.         $new_name = strrev(mb_substr(strrev($new_name),mb_strlen($new_name)-(strrpos($new_name,".")))); // получаем имя файла без расширения
  22.         $microtime = microtime();
  23.         $microtime = strrev(mb_substr(strrev($microtime),mb_strlen($microtime)-(strrpos($microtime," "))));
  24.         $new_name = $new_name.'['.date("m.d.y").'_'.date("H:i:s").':'.$microtime.'].'.$type; //даем имя файла с датой и временем в милисикундах
  25.  
  26.     if($size > $maxsize){$_SESSION['select_result'] = $_SESSION['select_result'].'<div class="select_err">Файл больше 100 мб. Уменьшите размер вашего файла или загрузите другой.</div>';}
  27.     elseif(!in_array($type,$extentions)){$_SESSION['select_result'] = $_SESSION['select_result'].'<div class="select_err">Файл имеет недопустимое расширение "'.$type.'".</div>';} else
  28.     {
  29. if (copy($file, $file_put.$new_name)){
  30.        
  31.        
  32.     //mysql_query("UPDATE akt_narmotiv SET url_file='$new_name' WHERE id = '$id'",$link);
  33.     $_SESSION['select_result'] = $_SESSION['select_result']."Файл загружен!<br>Скопируйте адрес файла<br> <a href=".$file_put.$new_name."><b>".$file_put.$new_name."</b></a>";
  34.     }else {$_SESSION['select_result'] = $_SESSION['select_result'].'<div class="select_err">Файл НЕ был загружен.</div>';}}
  35.  
  36. //цыкл который я создавал
  37. }}
  38. //цыкл который я создавал
  39.  



покажите как правильно писать цыкл для загрузки файлов
2. DeepVarvar - 15 Октября, 2015 - 09:30:32 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <input name="file" type="file" multiple>
Так включается множественный выбор файлов в одном инпуте.
И все выбранные файлы загружаются ПО ОЧЕРЕДИ где каждый обрабатывается отдельно.
3. biryukovm - 15 Октября, 2015 - 10:32:11 - перейти к сообщению
DeepVarvar пишет:
Так включается множественный выбор файлов в одном инпуте.
И все выбранные файлы загружаются ПО ОЧЕРЕДИ где каждый обрабатывается отдельно.


я попробовал выбрать несколько файлов. вижу что проценты загрузки идет но самих файлов не загруженных

 

Powered by ExBB FM 1.0 RC1