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 :: Как открыть локальный doc файл

 PHP.SU

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


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

> Без описания
Piombo
Отправлено: 05 Июля, 2016 - 15:49:53
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2016  


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




Добрый день!

У меня есть локальный сайт denwer+Joomla. PHP Version 5.3.13
- мне нужно открывать (скачивать) локальные .docx файлы.

<a href="file:///D:/папка 1/Документ.docx"> - так на веб-сервере не работает.

Нашел решение тут [url] http://forum.php.su/topic.php?fo...1&topic=8934 [/url] - но оно тоже не работает. Но понимаю что направление верное.

<a href="download.php?file=D:/папка 1/Документ.docx">

Мне нужно что бы по ссылке был диалог браузера открыть-скачать.
пробовал так:

download.php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $filename = $_GET['file'];
  2.     header ('Content-type: application/msword');
  3. //    header ('Content-type: application/force-download');
  4. //    header ('Content-Disposition: attachment; filename="'.basename($filename).'"');
  5.     echo file_get_contents($filename);


Но получаю:

Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\local\download.php:1) in X:\home\localhost\www\local\download.php on line 6

Warning: file_get_contents(D:/тест б/Заявление на вычет налога за детей.docx) [function.file-get-contents]: failed to open stream: No such file or directory in X:\home\localhost\www\local\download.php on line 15

Plz help!

(Отредактировано автором: 05 Июля, 2016 - 15:51:16)

 
 Top
Piombo
Отправлено: 06 Июля, 2016 - 11:01:20
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2016  


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




Вопрос чуть уже.

Этот код не работает локально (Denwer на windows)

CODE (htmlphp):
скопировать код в буфер обмена
  1.     $file = ("test.txt");
  2.     header ("Content-Type: application/octet-stream");
  3.     header ("Accept-Ranges: bytes");
  4.     header ("Content-Length: ".filesize($file));
  5.     header ("Content-Disposition: attachment; filename=".$file);
  6.     readfile($file);


И работает на одном их хостингов.

На денвере PHP Version 5.3.13
На хостинге PHP Version 5.2.17

Что нужно что бы на денвере заработало? Спасибо!
 
 Top
Sail
Отправлено: 06 Июля, 2016 - 11:49:56
Post Id



Участник


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


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




Piombo, загляните, пожалуйста, в тему "Решение ошибок в php", пункт 8. Для начала.
 
 Top
Piombo
Отправлено: 06 Июля, 2016 - 14:17:51
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2016  


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




Заглянул. Спасибо!

Проблема с русским путем до файла Недовольство, огорчение


не удается передать кодированный УРЛ
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo '<a href="download2.php?file=', urlencode("D:/тест б/по русски.docx"), '">urlencode</a>';



download2.php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $file = $_GET['file'];
  2. echo urldecode ($file);  // тут я получаю урл в кирилице
  3. echo ("<br/>");
  4. echo ($file); // тут я получаю урл в ТОЖЕ в кирилице - а должен быть кодированный


почему так? Спасибо!

(Отредактировано автором: 06 Июля, 2016 - 17:34:19)

 
 Top
Viper
Отправлено: 06 Июля, 2016 - 17:24:26
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Piombo пишет:
Заменить пробелы на "%20" тоже не помогает
можете даже не пытаться. Файловые функции php не работают с именами папок/файлов не в латинице под windows. Или переименовывайте всё в латиницу, или используйте костыль https://github[dot]com/kenjiuno/php-wfio


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Piombo
Отправлено: 06 Июля, 2016 - 17:36:50
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2016  


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




Спасибо, это я уже понял.

Может проблема и не в этом. Глобально, мне был хотелось скачивать .docx файлы со страниц локального сайта (denwer, Windows)

CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="download.php?file=D:/тест б/по русски.docx">Русский путь</a> |
  2. <a href="download.php?file=D:/test/test.docx">Eng путь</a>



download.php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $file = $_GET['file'];
  2.   if (ob_get_level()) {
  3.   }
  4.   header('Content-Description: File Transfer');
  5.   header('Content-Type: text/html; charset=utf-8');
  6.   header('Content-Type: application/octet-stream');
  7.   header('Content-Disposition: attachment; filename=' . basename($file));
  8.   header('Content-Transfer-Encoding: binary');
  9.   header('Expires: 0');
  10.   header('Cache-Control: must-revalidate');
  11.   header('Pragma: public');
  12.   header('Content-Length: ' . filesize($file));
  13.   readfile($file);


D:/test/test.docx - скачивается нормально
D:/тест б/по русски.docx - нет - вместо него скачивается файл который содержит следующие ошибки:
CODE (text):
скопировать код в буфер обмена
  1. Warning: filesize() [function.filesize]: stat failed for D:/тест б/по русски.docx in X:\home\localhost\www\local\url\download.php on line 16
  2.  
  3. Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\local\url\download.php:16) in X:\home\localhost\www\local\url\download.php on line 16
  4.  
  5. Warning: readfile(D:/тест б/по русски.docx) [function.readfile]: failed to open stream: No such file or directory in X:\home\localhost\www\local\url\download.php on line 17

(Отредактировано автором: 07 Июля, 2016 - 15:13:14)

 
 Top
Viper
Отправлено: 07 Июля, 2016 - 16:42:08
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Piombo пишет:
это я уже понял

Piombo пишет:
Может проблема и не в этом

не поняли. Проблему я вас указал.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 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