![]() |
проблемы с download
download.php
Код:
<?$fileDir="путь";$fileName="файл.blablabla";засада в том, что в этом окошке ему предлогают сохранить файл download.php , а не файл.blablabla!!! Т.е. на самом деле будет сохранен файл.blablabla, но назвать его предлагают download.php, как это побороть? Чтоб окошке сохранить как, сразу стояло настоящее имя файла, и еще... кто знает как, нормально можно осуществить отправку файлов пользователям тоже пишите, данный пример я взял с www.php.net |
|
нето
я имею ввиду скачать, а не просмотреть, разница маленькая, но существенная, не фурычит короче
|
Самое простое решение -- сделать так, чтобы URL отдающего скрипта имел вид:
/myscript.php/myfile.zip И все проблемы пройдут. :) |
2crasy
да, наверное, я уже по всякому пробовал, по-другому не выходит аленький цветочек, но теперь хотелось бы вызывать такую вещь из объекта, как ф-цию, а это уже полная засада, как ты там передашь урл?
|
Re: нето
Цитата:
я дал ссылку на код и работающий пример. все там фурычит. |
Чтоб оно фурычило как просил автор нужно все же не рандом передавать, а нормальное имя. :D
|
see working example at http://www.php.kz/download2.php
вот что там видно, а больше ничего не видно, а тот код что download3.php - тот код мою проблему не лечит |
Вылечит -- ты вместо рандома проставь имя нужного тебе файла. :)
|
не лечит
сабж
|
Лечит. Вот полный текст:
Код:
<?php |
тут по-моему не только проблему лечить надо :)
|
последний приведенный пример работает, но! 1. если вы глянете на тот код что я выложил в самом начале, то поймете что требуется даунлоад файла лежащего не рядышком со скриптом, а допустим в соседней директории 2. все это я хочу организовать в ф-цию, а если мы пересылаем заголовки, то логично(на мой взгляд, я могу и ошибаться), что потребуется открывать дополнительное окно, иначе окно в котором находится собственно сайт выводиться не станет... ну и собственно все, сам разберусь дальше
|
Цитата:
Какое это иммеет значение? Цитата:
|
|
ну в общем, это проблему не решает
товарищи, сказано было много, но по делу мало, собственно все дают ссылки которые в конце концов ведут на php.net и вообще мы остановились на том что качественно скачать файл с передачей в окно названия можно только надругавшись над урлом к скрипту(имеется ввиду случай, когда файл лежит не в одном каталоге вместе со скриптом), у кого-нибудь еще будут варианты
2крези(персонально), 1.значение большое,2.php->xml->html->jvscript->новое окно, и вообще я все хочу)))) |
Re: ну в общем, это проблему не решает
Цитата:
|
(тоже персонально Crazy)
У тебя просто ангельское терпение :) зы. по-моему нужно путь указывать в переменной - $dir название файла в переменной - $filename затем конкатенация : $dir.$filename |
блин
при том что если файл лежит не в одном каталоге со скриптом, т.е. вместо имени передается путь+имя, то ничего не работает, ошибки не возвращается, а получается как всегда, логи: сервер завершил операцию... и все! и никакого эффекта, что запустили скрипт,что радио послушали
|
Покажи точный код скрипта. Ибо у меня все пракрасно работает независимо от взаимного размещения скриптов и файлов.
|
и верно - код в студию !
также результаты phpinfo(); У кого плохие яйца - тот плохой танцор. |
пытаюсь разобраться сам
боюсь я что-то phpinfo в студию))), но как-то не выходит аленький цветочек, а сделал я все совес не так... через https
|
за бдительность - пять ,
за знание предмета - двойка ! |
не прошло и года)))
разобрался я с данным вопросом и сделал все отдельной ф-цией, причем вышло все компактно и красиво, т.е. качай чего хочешь - только авторизируйся. А вся фишка была в том что не
header('Content-Disposition:attachment'); а header('Content-Disposition:inline'); может кто дать по данной теме комментарий? потому как на www.php.net специально указано что использовать необходимо именно attachment, а не inline и еще один вопрос: вот у нас был передан некий контент на страницу, юзер сказал хочу этот файл и получил этот файл, а как после того как он его получил(или во время получения), поменять контент? (и можно ли это вообще сделать) И еще была тема о докачке, почитал ее, но хочу еще раз поднять этот вопрос, допустим файл пользователь скачал не целиком и связь разорвалась, как осуществить докачку средствами сервера и возможно ли такое в принципе. Если я все правильно понял тут надо уже не fpassthru() использовать, а писать ф-цию посылки файла самому, т.к. fpassthru() уж очень однобока, и вдруг кто-то уже написал свой вариант этой ф-ции более гибкий, прошу поделиться. |
Для докачки необходима поддержка на стороне клиента. В IE она отсутствует, IMHO.
|
а если...
свой клиент написать, есть же всякие reget, fashget, etc. я уверен можно и свой написать, а у тебя что: что-то есть на данную тему;)))
|
Кстати, так как мне пришлось здесь некоторых господ консультировать по аське, что и к чему, приведу пример как сделан даунлоад на пхп.нет, а сделан он весьма забавно ...
не через замысловатые функции, а более тупо, а так как он открыт, и исходники тоже, то смотрим : http://www.php.net/source.php?url=/do_download.php вот как там сделано ! Код:
if (!isset($download_file)Код:
$dfile = "../download/file.zip" |
| Часовой пояс GMT +4, время: 00:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.