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 mysql

 PHP.SU

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


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

> Без описания
andre
Отправлено: 26 Апреля, 2013 - 15:30:46
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Окт. 2012  


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

[+]


в общем вот скрипт,который должен скачивать файл с сервера
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include("db.php");
  4. if (isset($_GET['file_id'])){
  5. $file_id=(int)$_GET['file_id'];
  6. $file =mysql_query ("SELECT `file_name`,`file_expiry` FROM `files` WHERE `file_id`={$file_id}");
  7. if (mysql_num_rows($file)!=1){
  8. echo 'invalid file id';
  9. }else{
  10.  
  11. $path="img/{$file['file_name']}";
  12. header("Content-Type: application/force-download");
  13. header("Content-Type: application/octet-stream");
  14. header("Content-Type: application/download");
  15. header("Content-Disposition:attachment;filename=\"{$file['file_name']}\"");
  16. readfile ($path);
  17. }
  18. }
  19.  ?>
  20.  


в mysql создал таблицу files.там есть 3 колонки
file_id|file_name|file_expiry

1|abc.jpg|132254
2|408.doc|132347
...

в общем когда нажимаю на имя файла чтобы скачать, скачивается почему-то файл download.php в котором написано
CODE (html):
скопировать код в буфер обмена
  1. <!--error--><b>Warning</b>:  readfile(img/) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: No such file or directory in <b>Z:\home\localhost\www\download\download.php</b> on line <b>16</b><br />


я так понял,что у меня яко бы не правильно у казан путь,но я 100 раз проверял. в папке download лежат php файлы,а в download/img лежат файлы doc и jpg. в общем в чем может быть еще ошибка?

Кстати,когда изменяю так
header("Content-Disposition:attachment;filename=\"468.doc\"");
readfile ("img/468.doc");

тоесть указываю сам файл ,а за тем нажимаю на него 468.doc что бы скачать,он как раз скачивается.т.е. такое ощущение,что ошибка где-то в $path

(Отредактировано автором: 26 Апреля, 2013 - 15:35:31)

 
 Top
EuGen Администратор
Отправлено: 26 Апреля, 2013 - 15:35:33
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Не совпадает рабочая директория с той, что указана. Указывайте абсолютный путь.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
andre
Отправлено: 26 Апреля, 2013 - 15:39:29
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Окт. 2012  


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

[+]


я попытался сделать так,поставив две точки $path="../img/{$file['file_name']}";
но тоже не фурычит
 
 Top
EuGen Администратор
Отправлено: 26 Апреля, 2013 - 15:42:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Указывайте так:
PHP:
скопировать код в буфер обмена
  1. $path=__DIR__."/img/{$file['file_name']}";


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
andre
Отправлено: 26 Апреля, 2013 - 15:47:35
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Окт. 2012  


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

[+]


все равно указывает ошибку на 16 строку $path

<!--error--><br />
<b>Warning</b>: readfile(Z:\home\localhost\www\download/img/) бла бла on line <b>16
 
 Top
Мелкий Супермодератор
Отправлено: 26 Апреля, 2013 - 15:50:08
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




О mysql_fetch_assoc до сих пор не слышали?


-----
PostgreSQL DBA
 
 Top
EuGen Администратор
Отправлено: 26 Апреля, 2013 - 16:13:54
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Верно. За рутиной подобных вопросов всё же иногда следует всматриваться в код, допуская у спрашивающего и подобные "ошибки"


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
andre
Отправлено: 26 Апреля, 2013 - 23:43:00
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Окт. 2012  


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

[+]


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

PHP:
скопировать код в буфер обмена
  1. $file_name = mysql_real_escape_string ($_FILES['file']['name']);
  2. $sz= getimagesize ($file_name);
  3. print "$sz";


но выводит ошибку
Warning: getimagesize(0) [function.getimagesize]: failed to open stream: No such file or directory in Z:\home\localhost\www\download\admin.php on line 56

на 56 строке находится $sz= getimagesize ($file_name);

вроде как говорит,что не найден файл в такой дерриктории,хотя до применения функции getimagesize все хорошо работало и файлы загружались.
 
 Top
LIME
Отправлено: 26 Апреля, 2013 - 23:48:38
Post Id


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


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


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




 
 Top
esterio
Отправлено: 27 Апреля, 2013 - 00:08:00
Post Id



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


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


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




размер файла или изображения?
 
 Top
LIME
Отправлено: 27 Апреля, 2013 - 00:24:55
Post Id


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


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


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




esterio какая разница
ты код смотрел?
набор букв
 
 Top
andre
Отправлено: 27 Апреля, 2013 - 00:39:58
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Окт. 2012  


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

[+]


Вот,ошибок никаких не выдает,но в колонке size в БД по прежнему ничего не пишет.
у меня там разные форматы

CODE (SQL):
скопировать код в буфер обмена
  1. IF ($_POST['upload']!="")
  2. {
  3. $file_name = mysql_real_escape_string ($_FILES['file']['name']);
  4. $zf=("img/{$file_name}");
  5. $sz=getimagesize($zf);
  6. mysql_query("INSERT INTO `files` (`file_name`,`tt`,`size`) VALUES ('{$file_name}','{$_POST['idjnr']}','{$sz}')")OR die("Invalid query: " . mysql_error());
  7. move_uploaded_file($_FILES['file']['tmp_name'],"img/{$_FILES['file']['name']}");
  8. echo' <script>location.replace("admin.php?add='.$_GET['add']. ' ");</script> ';
  9. }
  10.  
 
 Top
esterio
Отправлено: 27 Апреля, 2013 - 00:58:12
Post Id



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


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


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




с набором букв согласен. поетому и спрашиваю. как бы на поиск в гугле наталкиваю.
andre
прокоментируйте каждую строку что она делает. потом сверте с тем что код должен сделать. тогда вичтите разницу. приплюсуйте к первому посту и узнаете что за бред вы написали. ответ - такой же как и я. поетому акуратненько стираете ьо чьо написали и затем идете в гугл с вопрос как сделать
 
 Top
andre
Отправлено: 27 Апреля, 2013 - 01:08:19
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Окт. 2012  


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

[+]


честно не вижу тут бреда. у меня задача такая,что нужно выводить рамер файла. но я уже разобрался нужно было лишь это дописать

$size = (round($sz / 1024 * 100) / 100);


я сначала ищу в гугле,чего не нахожу,то сюда захожу спрашивать
 
 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