PHP.SU

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

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

> Найдено сообщений: 9
Ghost Отправлено: 25 Сентября, 2014 - 07:08:21 • Тема: Linearized pdf • Форум: Работа с файловой системой и файлами

Ответов: 0
Просмотров: 1069
Здравствуйте.

Прошу помощи. Сайт написан на Yii, система со встроенным редактором (kcfinder). Через редактор администратор загружает pdf-файлы. Однако в броузере они не выводятся, на скачивание не отдаются. Выводится:
"%PDF-1.4
%����
2799 0 obj <</Linearized 1/L 1515552/O 2801/E 199997/N 104/T 1459523/H [ 1116 2606]>>
endobj"
...и затем крокозябры, видимо, описывающие разметку документа. Подскажите, как принудительно отдавать файл на скачивание?

В .htaccess прописано:
CODE (htmlphp):
скопировать код в буфер обмена
  1. AddType "application/pdf" .pdf


Если бы формировалась статичная страница, можно было бы написать что-то вроде этого:
PHP:
скопировать код в буфер обмена
  1. function file_force_download($file) {
  2.   if (file_exists($file)) {
  3.     if (ob_get_level()) {
  4.       ob_end_clean();
  5.     }
  6.     header('Content-Description: File Transfer');
  7.     header('Content-Type: application/octet-stream');
  8.     header('Content-Disposition: attachment; filename=' . basename($file));
  9.     header('Content-Transfer-Encoding: binary');
  10.     header('Expires: 0');
  11.     header('Cache-Control: must-revalidate');
  12.     header('Pragma: public');
  13.     header('Content-Length: ' . filesize($file));
  14.     readfile($file);
  15.     exit;
  16.   }
  17. }


Но - редактор.

Может быть, перехватывать каким-либо образом обращение к файлу и перенаправлять на доп. скрипт? Как тогда это лучше сделать?
Или же как ещё можно реализовать необходимый функционал?

Буду очень признателен за помощь.
(Добавление)
Извините за беспокойство. Нашёл решение. Смотрел совсем не в ту сторону.

.htaccess:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <IfModule mod_headers.c>
  2.     <FilesMatch "\.(?i:pdf)$">
  3.     ForceType application/octet-stream
  4.     Header set Content-Disposition attachment
  5.     </FilesMatch>
  6. </IfModule>
Ghost Отправлено: 18 Января, 2011 - 19:41:35 • Тема: Категории и подкатегории • Форум: Работа с СУБД

Ответов: 67
Просмотров: 27813
Здравствуйте.

Хотел бы возобновить старую тему.
У меня аналогичная "загвоздка", никак не могу найти решение.
Нужно рекурсией собрать массив из id-значений для вывода комментариев.

Вывожу часть данных из БД:

PHP:
скопировать код в буфер обмена
  1.     $res = mysqlQuery("SELECT `id`, `reply`, `text`
  2.                         FROM `tbl` ");
  3.  
  4.     // reply - родительский id
  5.  
  6.     if(mysql_num_rows($res) > 0)
  7.     {
  8.       while($row = mysql_fetch_assoc($res))
  9.       {
  10.         $tree[$row['reply']][$row['id']] = $row['text'];
  11.       }
  12.     }


Прохожусь по всему дереву:

PHP:
скопировать код в буфер обмена
  1. function ShowTree($tree, $pid=0)
  2. {
  3.   $data = array();
  4.  
  5.   foreach($tree as $id=>$root)
  6.   {
  7.     if($pid!=$id)
  8.       continue;
  9.  
  10.       if(count($root))
  11.       {
  12.         foreach($root as $key => $title)
  13.         {
  14.          // echo '<h1>'. $key .'</h1>';
  15.          
  16.          if(count($tree[$key]))
  17.            ShowTree($tree,$key);
  18.         }
  19.       }
  20.  
  21.    }
  22.  
  23.  return $data;
  24. }
  25.  
  26. $dt = ShowTree($tree);


Раскомментировать echo $key; - выводятся значения в порядке в каком нужно (несколько уровней вложенности), но дело в том, что в БД хранится не только текст, но и другие данные, которые я затем через foreach($dt ... ) хотел бы вывести из БД в нужном порядке. Простое присваивание значения $key массиву ничего не даёт - заносятся только значения первого уровня.

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

Кстати, выдаётся Notice: Undefined offset: ... in ... на
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(count($tree[$key])) ShowTree($tree,$key);


Прочёл про это, но как избавиться не могу придумать.

Буду очень признателен за помощь.
Ghost Отправлено: 26 Ноября, 2010 - 18:23:08 • Тема: Модернизация google-перевода • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 2165
JustUserR,

спасибо.
Хотя я уже сделал, и без ajax'а )
Ghost Отправлено: 22 Ноября, 2010 - 20:20:59 • Тема: Модернизация google-перевода • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 2165
Здравствуйте.
Помогите, пожалуйста, разобраться и решить задачу.

Задача следующая:

встроить на сайт автматический google-переводчик...

Нашёл в Сети такой код

CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  2.  
  3. <script type="text/javascript">
  4. google.load("language", "1");
  5.  
  6. function eng() {
  7.  var text = document.getElementById('text').value;
  8.  google.language.translate(text, 'ru', 'en', function(result) {
  9.   if(result.translation) {
  10.    document.getElementById('trans').innerHTML = result.translation;
  11.   }
  12.  });
  13. }
  14.  
  15. </script>


CODE (html):
скопировать код в буфер обмена
  1. <button class="but" onclick="eng()"> на английский </button>
  2. <div id="trans"></div>


Здесь всё в порядке, переводит, вставляет через innerHTML на страницу перевод.

Но необходимо, чтобы перевод не отображался, а заносился в базу данных. То есть:
по submit-кнопке по событию onclick выполянется google-перевод POST-данных одной textarea и вместе с этим выполняется положенная обработка формы, некий PHP-сценарий. Затем все данные + перевод заносятся в БД.

Буду очень признателен за помощь.
Ghost Отправлено: 05 Октября, 2010 - 19:43:47 • Тема: Выбираются ли из данные , соответствующие массиву? • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 47
Спасибо за ответы.

implode() - да, помогло.
Ghost Отправлено: 04 Октября, 2010 - 21:36:16 • Тема: Выбираются ли из данные , соответствующие массиву? • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 47
Здравствуйте.
Подскажите, если знаете, ответ по MySQL.

Мне нужно выбирать через mysql_query("SELECT ... ") данные, удовлетворяющие значениям определённого массива из сессии. То есть, например, выбрать из таблицы значения некого поля, у которых id совпадают со значениями переданного массива. Если через foreach делать, формируется массив с одной строкой - только последнее значение этого поля.
Как-то вообще можно решить, сделать это?

И ещё: если поля типа date, возможно ли отсортировать значения в обратном порядке. Если ORDER BY ... DESC - не выходит почему-то.
Ghost Отправлено: 04 Октября, 2010 - 21:17:59 • Тема: Выделение и снятие выделения checkbox'ов • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 1610
Здравствуйте.

Подскажите, пожалуйста, почему не работает функция, которая по событию onclick должна выделять и снимать выделение с группы checkbox'ов.

CODE (javascript):
скопировать код в буфер обмена
  1.  var globvar = false;
  2.  
  3.  function checkForm(classname)
  4.  {
  5.    var select = document.getElementsByName(classname);
  6.  
  7.    for(i=0; i < select.length; i++)
  8.    {
  9.  
  10.      if(select[i].type == 'checkbox')
  11.      {
  12.        select[i].checked = (!globvar) ? true : false;
  13.        globvar = (!globvar) ? true : false;
  14.      }
  15.  
  16.    }
  17.  }



Как её откорректировать, чтобы она работала?
Ghost Отправлено: 07 Августа, 2010 - 21:07:19 • Тема: PHP и JS • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 1810
alexspb,
JustUserR,

благодарю!
Многое теперь понял.

Главные JS-метод, если нужно запустить скрипт, например, обработки формы - это open(), так? А с остальным, думаю, разбурусь )

Пойду искать ссылки ещё на литературу )
Ghost Отправлено: 05 Августа, 2010 - 21:21:16 • Тема: PHP и JS • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 1810
Здравствуйте.

Прошу помочь разобраться кое с чем, чтоб уяснить это раз и навсегда.
Как в зависимости от выполненного обработчика событий выполнить скрипт PHP.
Поясню на примере.
У меня есть форма, в ней кроме текстовых полей имеется два radio-переключателя. Нужно, чтобы при выборе одного переключателя догружались ещё текстовые поля, при выборе второго - сразу submit-кнопка.
Или, например, чтоб при клике по ссылке в меню создавать подменю, сформированное
из значений из БД.
Можно и с перезагрузкой страницы, главное, что интересует - это именно как в зависимости от выбранного значения элемента формы запустить тот или иной скрипт.

Схожая проблема в том, что нужно сделать на PHP функцию "пипетки", аналогичную функции из Photoshop. Использовать, например, image-кнопку, отсылать и возвращать координаты, при наведении на участок изображения, чтоб получить RGB-значение
цвета в дальнейшем.
А, может, где-то есть уже готовая такая функция? Нигде пока что не нашёл.

Вот. Мне бы понять общий принцип взаимодействия PHP и JS в этом плане.
Был бы очень признателен за помощь.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB