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 :: Загрузка файла файла на сервер по URL ссылке

 PHP.SU

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


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

> Без описания
Designer
Отправлено: 09 Мая, 2014 - 00:20:37
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




Всем здрасьте! Уперся во в такой тупик, пишу код загрузки видео файлов на сервер
проверяю существование файла и его тип посредством возвращенных заголовков функции get_headers(), в принципе функция возвращает все что нужно, но встал вопрос, как узнать расширение файла который находится по ссылке???? в заголовках этого нет, есть лишь mime-type, а мне нужно чтоб после загрузки на сервере его обработать и переименовать!
P.S. я говорю конкретно не про прямые ссылки
 
 Top
LIME
Отправлено: 09 Мая, 2014 - 00:50:41
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




а зачем париться над расширением?
современная катавасия с форматами видео заставляет просто принимать файлы не глядя ни на что
просто выключи исполнение в папке в которой сохраняешь эти файлы и не парься
а еще лучше предоставляй доступ к ним через скрипт
переименовывай файлы в md5 от их содержимого и в бд сохраняй соответствие имен и содержимого
это позволит не повторять несколько раз один и тот же файл
а вообще что тебя беспокоит?
 
 Top
Designer
Отправлено: 09 Мая, 2014 - 01:00:30
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




Спасибо за советЮ, но это уже давно реализовано, тут дело именно в расширении
К примеру взять ссылку типа http://site[dot]ru/video/?q=fhty45g9gs90hwjrh0w4hjwr
перейдя по ней начнется качаться видео файл к примеру .mp4
естественно ни curl ни get_header() не знает что это за файл, он только получает и возвращает мне данные, а вот я как раз таки тем временем создаю файл fopen() и записываю в него полученные данные, но опять же имя я предположим задаю time(), а расширение?? далее я обрабатываю файл библой ffmpeg тащу инфу и записываю в БД
Все!!! Но расширение мне нужно, так как скрипт работает не только допустим с mp4 но и 3gp avi wmv flv
Так вот как его получить до меня не доходит! Помогите пожалуйста, ну или разжуйте по иному, мож я чего недопанимаю!
(Добавление)
Забыл дописать, что при отдаче файла юзверу я так думаю тожеж нужно жыж Радость подписывать расширение к имени файла!
(Добавление)
Возник в ходе действий еще один вопрос:

Возможно ли отправить файл сразу на FTP сервер не используя функцию Move_Uploaded_File() ??
Если да то подскажите как это делается!
 
 Top
Designer
Отправлено: 09 Мая, 2014 - 03:11:03
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




Уже разобрался!
 
 Top
Designer
Отправлено: 12 Мая, 2014 - 10:54:19
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




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

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

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

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

Помогите люди добрые ))
 
 Top
LIME
Отправлено: 12 Мая, 2014 - 10:57:24
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




а нельзя пользака просто редитректить на файл по протоколу ftp://... ?
 
 Top
Designer
Отправлено: 12 Мая, 2014 - 11:16:05
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




Я ж говорю, ftp не открытый! (или я недопонял)

(Отредактировано автором: 12 Мая, 2014 - 11:16:23)

 
 Top
LIME
Отправлено: 12 Мая, 2014 - 11:23:38
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




ясн
можешь на сервере этот хост прописать в файл /etc/hosts ?
(Добавление)
или по ip обратиться лучше
 
 Top
Designer
Отправлено: 12 Мая, 2014 - 11:40:12
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




LIME, Я реально помощи попросил! редирект на ftp не катит потому как в адресе будет указан и логин и пароль! Я конечно понимаю что можно организовать при помощи отдельного сервера у когорого будет либо свое доменное имя, либо ip, но я конкретно поинтересовался по поводу раздачи файлов посредством ftp(или возможностью реализации)

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

Добалю!! Я конечно понимаю что для таких вещей (если что то объемное) покупают сербе сервер, тут дело в другом, хочу реализовать чтоб это работало и с хостинга(ов)

(Отредактировано автором: 12 Мая, 2014 - 11:50:42)

 
 Top
esterio
Отправлено: 12 Мая, 2014 - 11:45:16
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Ну так заливать по FTP, а отдавать по HTTP.
 
 Top
Designer
Отправлено: 12 Мая, 2014 - 11:47:41
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




esterio Кааааак?! Вот в этом и заключается вопрос?!
 
 Top
LIME
Отправлено: 12 Мая, 2014 - 11:50:56
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




 
 Top
esterio
Отправлено: 12 Мая, 2014 - 11:53:06
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Спойлер (Отобразить)

припустим у вас есть сервер. в нем есть путь к каталогу /htdocs/example.com/www.
значить нужно настроить вирт. хост на етот каталог. и заливать по FTP в той же каталог
 
 Top
Designer
Отправлено: 12 Мая, 2014 - 12:01:17
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




esterio ну как как по блютузу отдавайть файлы не пробовали? Радость

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


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2011  


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




Не стал создавать новую тему, напишу тут!

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

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

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

(Отредактировано автором: 06 Июня, 2014 - 21:43:31)

 
 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