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 :: загрузка и проверка файла

 PHP.SU

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


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

> Описание: загрузка и проверка файла, проверить тип
broshurkaplus
Отправлено: 18 Сентября, 2012 - 20:18:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




здравствуйте, давненько не был.
пишу сюда
возникла проблема:
1 при загрузке файлов на сайт требуется проверить тип mime, не заголовки, нужно только zip архив и mp3
2 можно ли проверить то что внутри архива?

прочитал и поискал тут, функция выдает ошибку, те походу недоступна мне. может у хостера спросить доступна ли? (только он медленный)

если можно дайте пожалуйста пример или в чём может быть вопрос?
 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Сентября, 2012 - 20:30:50
Post Id



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


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


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




broshurkaplus пишет:
можно ли проверить то что внутри архива?

Встроенный класс ZipArchive.
PHP:
скопировать код в буфер обмена
  1.  
  2. $zip = new ZipArchive;
  3.  
  4. $zip->open('archive.zip');
  5.  
  6. for($i = 0; $i < $zip->numFiles; $i++)
  7. {
  8.         $filename = $zip->getNameIndex($i);
  9.  
  10.         $f = $zip->getFromName($filename);
  11.  
  12.         if(strstr(mime_content_type($f), 'image'))
  13.         {
  14.             // Если картинка, то сохраняем
  15.         }
  16. }
  17.  

(Отредактировано автором: 18 Сентября, 2012 - 21:08:32)

 
 Top
broshurkaplus
Отправлено: 18 Сентября, 2012 - 20:37:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




по вопросу 2 я при быстром осмотре так понял что там ZipArchive::statIndex-Получение детальной информации по элементу по его индексу, в массиве [mtime] =>будет типом файла в архиве?
уточните если вы разбирались с ним досконально.

по 1 можете что нить подсказать, я код крутил, удалил уже, а с коленки не напишу, надо искать где брал, можете подсказать?
 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Сентября, 2012 - 20:41:12
Post Id



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


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


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




broshurkaplus пишет:
mtime

Время последней модификации файла.

broshurkaplus пишет:
по 1 можете что нить подсказать, я код крутил, удалил уже, а с коленки не напишу, надо искать где брал, можете подсказать?

mime_content_type

(Отредактировано автором: 18 Сентября, 2012 - 20:55:40)

 
 Top
broshurkaplus
Отправлено: 18 Сентября, 2012 - 20:54:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




стандартный mime_content_type у меня чего то ошибку выдаёт
правильно ли понял, просмотрев:
1он должен быть в пхп, если нет то попросить подключить php_zip.dll,
2код приведеный первым распакует мне в мою папку,(в временную папку сервера нельзя я так понял) из неё я перемещу куда надо
3последний код вернет индекс файла в архиве, те имя, но майм, я понял, он не проверит а там мот быть недопустимый файл
4 ZipArchive::getStatusString — Возвращают статус сообщения об ошибке, системный и/или zip-статус - это мне покажет вообще загруженный файл архив или нет

?
 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Сентября, 2012 - 20:54:59
Post Id



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


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


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




Я подправил код Выше.
(Добавление)
broshurkaplus пишет:
3последний код вернет индекс файла в архиве, те имя, но майм, я понял, он не проверит а там мот быть недопустимый файл
4 ZipArchive::getStatusString — Возвращают статус сообщения об ошибке, системный и/или zip-статус - это мне покажет вообще загруженный файл архив или нет

Может заглянем в мануал, ознокомимся с описаниями методов и посмотрим примеры?
 
 Top
broshurkaplus
Отправлено: 18 Сентября, 2012 - 20:59:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




простите не успеваю за вашими изменениями.
он встроеный те полюбому работать должен и подключать его не надо сразу код.
image это не мне
мне архив только зип, внутри только 1 файл - fb2 или mp3

(а то 2 окна по 10 вкладок Радость )
 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Сентября, 2012 - 20:59:57
Post Id



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


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


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




Ах да, забыл... И экспериментируем.
(Добавление)
broshurkaplus пишет:
image это не мне

Да это пример, ё - моё Ща взорвусь!
 
 Top
broshurkaplus
Отправлено: 18 Сентября, 2012 - 21:06:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




спасибо, я все ж читаю эти примеры. навоял уже, загрузил вроде файл, буду тестить. позже напишу.
я всеж новичок (вечный )
 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Сентября, 2012 - 21:07:19
Post Id



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


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


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




Не за что.
 
 Top
broshurkaplus
Отправлено: 18 Сентября, 2012 - 22:15:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




загрузку слделал, но ZipArchive не подключается
походу у меня пхп 5,2,17 должно быть в комплекте, но пишет Fatal error: Class 'ZipArchive' not found

спросить у хостера?

в пхпинфо php_zip.dll не нашел
все что похожее нашел zlib - ZLib Support enabled
направьте на путь истинный, потому что отдельно где взять класс чтоб подключать не нашёл.
спасибо
 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Сентября, 2012 - 22:21:39
Post Id



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


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


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




Да, по умолчанию его там нет.
Только zlib.
Надо ставить.
(Добавление)
Посмотрите в папке ext директории PHP, есть там файл php_zip.dll ?
 
 Top
broshurkaplus
Отправлено: 18 Сентября, 2012 - 22:40:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




простите, я ж ведь учусь.
в пхпинфо zlib - ZLib Support enabled, но в папке с сайтом есть папка пхп, куда по идее нужно ставить исполняемые скрипты и тд, похоже туда и нужно установить класс и подключать его оттуда.

у меня не на компе, сайт уже на хостинге висит, сам изменений ведь в пхп не внесу, dll не поставлю. и везде только описания класса, а сам класс ZipArchive скачать нету. только php_zip.dll нашёл.
?
напишу хостеру

пока что до завтра отложу вопрос, спать пора.

(Отредактировано автором: 18 Сентября, 2012 - 22:48:58)

 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Сентября, 2012 - 22:45:21
Post Id



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


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


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




Пишите хостеру.
(Добавление)
У моего хостера, кстати, можно самому выставлять версию php ))
Даже для отдельной директории))
Через htaccess
php 5.2, 5.3, 5.4
На выбор )
(Добавление)
broshurkaplus пишет:
но в папке с сайтом есть папка пхп, куда по идее нужно ставить исполняемые скрипты и тд, похоже туда и нужно установить класс и подключать его оттуда.

Нет, не то.
 
 Top
broshurkaplus
Отправлено: 21 Сентября, 2012 - 18:53:48
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




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

вобщем так
для пхп 5,2 хотя и пишет в мануале что поддерживается ZipArchive - в реальности настройки надо для ini и тд. что не устраивает. в итоге сделал так

поставил в .htaccess строку для пхп 5,3
AddHandler application/x-httpd-php-ex .php
у него, хостера, это так прописывается, хостер и я потестили - все ок
тепрь сразу по умолчанию доступно все, что требовалось, что нет работало
ZipArchive
mime_content_type - хотя как пишут немного устарело, и вместо него
finfo_open

тепрь
armancho7777777 пишет:
экспериментируем
над скриптом загрузки для проверки архива на зип, подсчета файлов внутри и проверки майма файлов в архиве, как "заточу" код выложу может кому поможет.
 
 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