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

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

1. Designer - 09 Мая, 2014 - 00:20:37 - перейти к сообщению
Всем здрасьте! Уперся во в такой тупик, пишу код загрузки видео файлов на сервер
проверяю существование файла и его тип посредством возвращенных заголовков функции get_headers(), в принципе функция возвращает все что нужно, но встал вопрос, как узнать расширение файла который находится по ссылке???? в заголовках этого нет, есть лишь mime-type, а мне нужно чтоб после загрузки на сервере его обработать и переименовать!
P.S. я говорю конкретно не про прямые ссылки
2. LIME - 09 Мая, 2014 - 00:50:41 - перейти к сообщению
а зачем париться над расширением?
современная катавасия с форматами видео заставляет просто принимать файлы не глядя ни на что
просто выключи исполнение в папке в которой сохраняешь эти файлы и не парься
а еще лучше предоставляй доступ к ним через скрипт
переименовывай файлы в md5 от их содержимого и в бд сохраняй соответствие имен и содержимого
это позволит не повторять несколько раз один и тот же файл
а вообще что тебя беспокоит?
3. Designer - 09 Мая, 2014 - 01:00:30 - перейти к сообщению
Спасибо за советЮ, но это уже давно реализовано, тут дело именно в расширении
К примеру взять ссылку типа http://site[dot]ru/video/?q=fhty45g9gs90hwjrh0w4hjwr
перейдя по ней начнется качаться видео файл к примеру .mp4
естественно ни curl ни get_header() не знает что это за файл, он только получает и возвращает мне данные, а вот я как раз таки тем временем создаю файл fopen() и записываю в него полученные данные, но опять же имя я предположим задаю time(), а расширение?? далее я обрабатываю файл библой ffmpeg тащу инфу и записываю в БД
Все!!! Но расширение мне нужно, так как скрипт работает не только допустим с mp4 но и 3gp avi wmv flv
Так вот как его получить до меня не доходит! Помогите пожалуйста, ну или разжуйте по иному, мож я чего недопанимаю!
(Добавление)
Забыл дописать, что при отдаче файла юзверу я так думаю тожеж нужно жыж Радость подписывать расширение к имени файла!
(Добавление)
Возник в ходе действий еще один вопрос:

Возможно ли отправить файл сразу на FTP сервер не используя функцию Move_Uploaded_File() ??
Если да то подскажите как это делается!
4. Designer - 09 Мая, 2014 - 03:11:03 - перейти к сообщению
Уже разобрался!
5. Designer - 12 Мая, 2014 - 10:54:19 - перейти к сообщению
Всем здрасьте еще раз! Вобщем тут такое дело, решил организовать на своем проекте систему хранения файлов на разных ftp серверах, уже организовал первую часть, но как дело дошло до второй вновь тупик! гуглил, яндексил, маны читал, выхода особо не нашел, проблема заключается у том, что не могу сообразить как отдавать пользователю файл с ftp, таким образом что бы его не пришлось перекачивать на хостинг!

Вот несколько вопросов:

Как можно реализовать что то типо удаленного сервера с доступом к нему по http?(естественно ftp защищен логино паролем)

Написал код для скачивания файла с ftp средствами fopen('ftp://'), на локалке работает, залин на хостинг, пишет ошибку Warning: fopen() [function.fopen]: Couldn't resolve host name
Что это? и как исправить? читал про необходимость включенной allow_url_fopen, так она включена, и ко внешним ссылкам типо http:// доступ имеется!

Помогите люди добрые ))
6. LIME - 12 Мая, 2014 - 10:57:24 - перейти к сообщению
а нельзя пользака просто редитректить на файл по протоколу ftp://... ?
7. Designer - 12 Мая, 2014 - 11:16:05 - перейти к сообщению
Я ж говорю, ftp не открытый! (или я недопонял)
8. LIME - 12 Мая, 2014 - 11:23:38 - перейти к сообщению
ясн
можешь на сервере этот хост прописать в файл /etc/hosts ?
(Добавление)
или по ip обратиться лучше
9. Designer - 12 Мая, 2014 - 11:40:12 - перейти к сообщению
LIME, Я реально помощи попросил! редирект на ftp не катит потому как в адресе будет указан и логин и пароль! Я конечно понимаю что можно организовать при помощи отдельного сервера у когорого будет либо свое доменное имя, либо ip, но я конкретно поинтересовался по поводу раздачи файлов посредством ftp(или возможностью реализации)

Шарясь в поисках инфы по этому поводу наткнулся еще на идею с сокетами! ХЗ
Вот ты что можешь посоветовать?
Допустим хостинг предоставляет 1гб (это не более чем чисто для сайта, так как речь идет о видео), файлы хочу хранить внешне, а ссылку на скачивание либо по http:// хоть прямиком до файла, либо через скрипт, повторюсь, так чтобы не скачивать на хостинг а отдавать сразу пользователю, fopen() подвел, хотя почему то надеялся что работать будет, так как версия php 5.3.14 на хосте, плюс внешний доступ открыт!

Добалю!! Я конечно понимаю что для таких вещей (если что то объемное) покупают сербе сервер, тут дело в другом, хочу реализовать чтоб это работало и с хостинга(ов)
10. esterio - 12 Мая, 2014 - 11:45:16 - перейти к сообщению
Ну так заливать по FTP, а отдавать по HTTP.
11. Designer - 12 Мая, 2014 - 11:47:41 - перейти к сообщению
esterio Кааааак?! Вот в этом и заключается вопрос?!
13. esterio - 12 Мая, 2014 - 11:53:06 - перейти к сообщению
Спойлер (Отобразить)

припустим у вас есть сервер. в нем есть путь к каталогу /htdocs/example.com/www.
значить нужно настроить вирт. хост на етот каталог. и заливать по FTP в той же каталог
14. Designer - 12 Мая, 2014 - 12:01:17 - перейти к сообщению
esterio ну как как по блютузу отдавайть файлы не пробовали? Радость

Признаюсь сразу и честно, в настройке сервера никогда не учавствовал, поэтому особого представления не имею, хотя с радостью бы повникал с систему, правда с мануалов туго доходит(можно сказать что вообще нет)
Так вот! Для начала хотел бы спросить по поводу хостингов! То есть, я снял хостинг, создал на нем FTP пользователя, хостинг доступ к сайту по ip не предоставляет, так вот поэтому я и спрашивал каким образом по http:// это реализовать! Буду очень благодарен за помощь!
15. Designer - 06 Июня, 2014 - 21:25:19 - перейти к сообщению
Не стал создавать новую тему, напишу тут!

Проблема заключается в следующем, при загрузке файла по фтп функцией ftp_put()
скрипт выкидывает ошибку такого рода Warning: ftp_put(): Filename invalid
погуглив и пояндексив, я понял что это предупреждение выскакивает из за некоректно указанного пути, данные все проверил, все гуд (как бы), закинул скрипт на хостинг там работает(я так понял потому что линукс) а у меня локалка на винде!

Вот и подобрался к вопросу, как исправить это? подскажите пожалуйста

(Добавление)
Блин, уже исправил, я в принципе знал что если что то не работает, значит однозначно я допустил ошибку ))

 

Powered by ExBB FM 1.0 RC1