|
|
|
| У меня такой вопросик. как получить реальное имя файла, если еспользуется связка fopen('http://mysite.com/download.php?id=123') и функция fwrite.
Тоесть открываем файл через http и сохраняем у себя. А в ссылке нет прямого имени файла | |
|
|
|
|
|
|
|
для: stasmus
(27.02.2007 в 09:20)
| | если открывать файл по HTTP - то НИКАК, т.к. настоящее имя файла может быть каким угодно...
как создатель сайта захочет, под таким URL и будет виден файл того или иного раздела. | |
|
|
|
|
|
|
|
для: stasmus
(27.02.2007 в 09:20)
| | Не вижу другого способа, как запрашивать файл посредством сокетов или curl и поискать заголовок Content-Disposition в вернувшихся заголовках. | |
|
|
|
|
|
|
|
для: Саня
(27.02.2007 в 09:55)
| | даже так не выйдет =)
вот положу я в корень сайта такой файлик .htaccess:
RewriteEngine on
RewriteRule ^/news/([0-9]+)$ /my_news.php?id=$1 [L]
и обращение к новости будет по ссылке http://сайт/news/№_новости - и никак не получится выяснить извне, что на самом деле запускается скрипт my_news.php и ему передается параметр новости...
+ к тому же, сайт может собираться из скольки угодно включений - а это не один файл, а 2-3-5-10- ... (100 в конце концов) | |
|
|
|
|
|
|
|
для: ZuArt
(27.02.2007 в 10:06)
| | Совершено не важно где находится файл на сервере, какая у него ссыла на скачивание, какое имя, что написано в .htaccess. Если передаётся заголовок Content-Disposition и в нём указан filename, то выцепить имя файла не представляет сложности. | |
|
|
|
|
|
|
|
для: Саня
(27.02.2007 в 10:36)
| | Тем не менее, запросив файл по ссылке вида download.php?id=123 обычным браузером мы можем получить его настоящее имя. (Если нам конечно разрешено фалом .htaccess). А как сделать это при помощи скрипта? без использования сокетов. Всегда ли будет заголовок Content-Disposition ? | |
|
|
|
|
|
|
|
для: stasmus
(27.02.2007 в 11:36)
| | Ещё раз повторяю: имя файла в таких случая передаётся в заголовках, а именно в заголовке Content-Disposition. Распарсить заголовки в скрипте - плёвое дело. Если бы такого заголовка не было, файл назвался бы по имени скрипта и его query string.
> Всегда ли будет заголовок Content-Disposition ?
Всё зависит от скрипта. Однако я встретил только один скрипт в интернете, который по фейковым ссылкам выдавай файл без реального имени.
В вашем случае этот заголовок передаётся.
Без использования сокетов - думаю только curl. | |
|
|
|