Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5

Очень странная ситуация с загрузкой файла на сервер!

11.07.2011, 22:44. Показов 1473. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
такая ситуация, сделал форму загрузки файла:
HTML5
1
2
3
4
5
<form action="upload_file.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="500214400">
<input name="file_application" type="file">
<input name="sub" type="submit" value="ADD" />
</form>
написал обработчик:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if(preg_match('/[.](ZIP)|(zip)|(RAR)|(rar)$/',$_FILES['file_application']['name']))//проверка формата
    {
    $uploaddir='../apps/files/';
    $temp = $_FILES['file_application']['name'];
    $uploadfile=$uploaddir.$temp;
 
    $size=$_FILES['file_application']['size']; //размер файла
 
    if (move_uploaded_file($_FILES['file_application']['tmp_name'],$uploaddir.$_FILES['file_application']['name'])) //функция помещает файл в указанную папку
    {
    chmod($uploadfile,777);         //чтоб грузильсь файлы с русскими именами
          echo "Файл отправлен<br>";
    
    $file_name=uniqid(rand(10000,99999));                                   //Генерируем случайное имя
    rename($uploaddir.$_FILES['file_application']['name'],$uploaddir.$file_name.$file_ext);     
    }
    else{exit("Error(1) `chose file`<br>");}
    }
    else{exit('Файл не является архивом!');}
проблема вот в чем, загружаю файл zip или rar - выдает ошибку Файл не является архивом!
когда убираю проверку формата и загружаю файл zip или rar - выдает ошибку Error(1) `chose file`
Но, главное дело в том, что когда я убрал проверку формата и загружаю например файл *.mp3 то все грузится без ошибок и туда куда надо, а вот когда zip или rar - выдает ошибку Error(1) `chose file`.....
В чем это проблема, почему негрузятся архивы???
Очень благодарен за внимание
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.07.2011, 22:44
Ответы с готовыми решениями:

Загрузкой файла на сервер и вывести ссылку на них в бд
Доброго времени суток! Помогите, пожалуйста, загрузить несколько файлы на сервер и сделать ссылку в бд mysql. Собственно код на php ...

Артефакты на новом PC. Мат. плата, видеокарта или монитор? Очень странная ситуация
Я собрал новый PC(с 1080 Ti) и купил монитор 29 дюймов(2560х1080) Lg. В играх начались артефакты. Не смог решить проблему переустановкой...

Проблемы с загрузкой файла на сервер.
Добрый день. Будьте добры, помогите, пожалуйста. Необходимо загрузить файл на сервер. Для этого использую следующий код: ...

11
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
11.07.2011, 23:31
не уверен, но попробуй без скобок задать расширение в регулярке.
а на счет
Цитата Сообщение от Sanu0074 Посмотреть сообщение
Error(1) `chose file`
проверь размер загружаемого файла, если больше 2Мб, увеличь его через .htaccess (напр, до 10Мб)
Code
1
php_value upload_max_filesize 10Mb
0
5 / 5 / 1
Регистрация: 18.07.2010
Сообщений: 56
12.07.2011, 07:24
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$f = 0; // флаг проверяет наличие загружаемых файлов, по нему скрипт узнаёт ресайзить чоить, копировать в папку или ну на...
if(isset($_FILES['flup']['name'][0]) || isset($_FILES['flup']['name'][1]) || isset($_FILES['flup']['name'][2])){ //циклом массив файлов не проверяю - у меня только 3 файла грузятся
$f = 1;
$alex = array('image/jpeg' => '.jpg', 'image/pjpeg' => '.jpg', 'image/png' => '.png', 'image/x-png' => '.png');
for($i = 0; $i < 3; ++$i){
if($_FILES['flup']['name'][$i] != ''){
if($imsz = getimagesize($_FILES['flup']['tmp_name'][$i])){if(($imsz[0] > 1024) || ($imsz[1] > 768)){$erra .= 'Размер изображения '.$_FILES['flup']['name'][$i].' превышает допустимый к загрузке ( 1024x768px )<br>';}}
if($_FILES['flup']['error'][$i] || ($_FILES['flup']['size'][$i] > 300000)){$erra .= 'Размер файла '.$_FILES['flup']['name'][$i].' превышает допустимый к загрузке ( 300кБ )<br>';}
if(($_FILES['flup']['type'][$i] !='') && !isset($alex[$_FILES['flup']['type'][$i]])){$erra .= 'Формат файла '.$_FILES['flup']['name'][$i].' не соответствует допустимым к загрузке ( jpg, png )<br>';}
}
}
}
дальше проверяется if($erra == ''){ всё чудненько }else{ ашипка, екзит(); }
дальше проверяется if($f){ ресайзю, копирую }

Добавлено через 5 минут
чуть не забыл:
это поясни, пожалуйста - chmod($uploadfile,777); //чтоб грузильсь файлы с русскими именами
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
12.07.2011, 10:44
Действительно странно, что архивы не грузятся. Я сделал всё тоже самое и всё сработало.
Я тут одну строчку подправил. Тут в регулярке подставил модификатор "i"
PHP
1
if(preg_match('/[\.](zip)|(rar)$/i',$_FILES['file_application']['name']))//проверка формата
0
5 / 5 / 1
Регистрация: 18.07.2010
Сообщений: 56
12.07.2011, 10:52
может setlocale?
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
12.07.2011, 22:04  [ТС]
Цитата Сообщение от hellpass Посмотреть сообщение
Действительно странно, что архивы не грузятся. Я сделал всё тоже самое и всё сработало.
Я тут одну строчку подправил. Тут в регулярке подставил модификатор "i"
PHP
1
if(preg_match('/[\.](zip)|(rar)$/i',$_FILES['file_application']['name']))//проверка формата
я сделал также, ничего не изменилось......

Добавлено через 44 секунды
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
не уверен, но попробуй без скобок задать расширение в регулярке.
а на счет
проверь размер загружаемого файла, если больше 2Мб, увеличь его через .htaccess (напр, до 10Мб)
Code
1
php_value upload_max_filesize 10Mb
ставил 200М, ничего не изменилось, в php.ini тоже прописал 200M

Добавлено через 1 минуту
Цитата Сообщение от srt Посмотреть сообщение
Добавлено через 5 минут
чуть не забыл:
это поясни, пожалуйста - chmod($uploadfile,777); //чтоб грузильсь файлы с русскими именами
chmod, это моя тупость, просто без него у меня не все файлы с русскими именами грузились, поэтому я навремя его поставил....
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
12.07.2011, 22:15
может в регулярке в начале галочка не хватает
PHP
1
if(preg_match('#^[\.](zip)|(rar)$#i',$_FILES['file_application']['name']))
Добавлено через 1 минуту
или так что ли
PHP
1
if(preg_match('#^\.(zip|rar)$#i',$_FILES['file_application']['name']))
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
12.07.2011, 22:19  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
может в регулярке в начале галочка не хватает
PHP
1
if(preg_match('#^[\.](zip)|(rar)$#i',$_FILES['file_application']['name']))
Добавлено через 1 минуту
или так что ли
PHP
1
if(preg_match('#^\.(zip|rar)$#i',$_FILES['file_application']['name']))
к сожалению, нито ни другое неработает, вообще не понимаю, что это может быть....
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
12.07.2011, 22:26
Цитата Сообщение от Sanu0074 Посмотреть сообщение
chmod($uploadfile,777);
ты это убрал уже?
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
12.07.2011, 23:08  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
ты это убрал уже?
да, ничего неизменилось!
0
5 / 5 / 1
Регистрация: 18.07.2010
Сообщений: 56
13.07.2011, 03:41
файлы с русскими именами на реальный хост грузиться никогда не будут (спасибо буржуям за наше Щасливое дедство, чугунные компьютеры, 13-тый этаж и скользкий подоконник)
а на локалке .. денвер?
LoadModule mime_module modules/mod_mime.so
в httpd.conf прописан?
фаел TypesConfig conf/mime.types есть?
тада винда ей фамилия
1
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
13.07.2011, 13:10  [ТС]
Цитата Сообщение от srt Посмотреть сообщение
файлы с русскими именами на реальный хост грузиться никогда не будут (спасибо буржуям за наше Щасливое дедство, чугунные компьютеры, 13-тый этаж и скользкий подоконник)
а на локалке .. денвер?
LoadModule mime_module modules/mod_mime.so
в httpd.conf прописан?
фаел TypesConfig conf/mime.types есть?
тада винда ей фамилия
но, это всёравно проблему не решает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.07.2011, 13:10
Помогаю со студенческими работами здесь

Ошибка с загрузкой(копированием) файла на локальном сервер
Доброго времени суток, читатель. Пытался сделать загрузчик файла(изображения) с клиентской(ajax) стороны на серверную(php). Имеем...

Непонятная ситуация с загрузкой!
Всем привет! Ситуация такая: Включаю компьютер (системный блок), загрузка идет хорошо без тормозов. Запускается ситема и работает 5-10...

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

Странная ситуация...
Здравствуйте! Помогите плиз... Сайту уже больше полугода. С 7-го числа трафф с Яндекса прекратился. Я вроде ничего не нарушал... ...

Странная ситуация
Здравствуйте! После смены ключевиков на морде и в каталогах уже как 3й апдейт подряд нахожусь по ключевику на 3ем месте, но в с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru