Вход • Регистрация

Изображение типа скачиваемого файла

  • 15 октября 2013 г.
  • Привет, диафановцы!
    Кто-нибудь знает как реализовать вывод изображения скачиваемого файла.
    Т.е. есть файл *.pdf, то должна выводиться картинка pdf название файла и скачать
    Если файл *.doc, то картинка название файла

    И т.д.

    И что бы это было автоматически. После заливки значков всех расширений.

    Спасибо
    • 15 октября 2013 г.
    • Во вьюхе необходимого модуля.
      • 15 октября 2013 г.
      • все, сделал.
        • 15 октября 2013 г.
        • Топик претендует на звание идеального
          • 15 октября 2013 г.
          • да тупанул малость)) заработался)))
            а че за идеальный топик будет?
            • 15 октября 2013 г.
            • Сам спросил, сам сделал... Почти идеальный топик.
              Еще бы написал, что сделал в итоге, был бы вообще идеальный %)
  • 17 июля 2015 г.
  • Как вывести просто тип файла? $f["size"] - размер, $f["name"] - имя... а тип (расширение)?
    • 17 июля 2015 г. , редакция: 17 июля 2015 г.

    • Для модуля файловый архив (для других модулей, использующих attachments будет примерно также):
      По-умолчанию расширение не выводится, но можно в модели files.model.php заменить

      Код

      $rows_file = DB::query_fetch_all("SELECT id, name, size FROM {attachments} WHERE module_name='files' AND element_id='%d' AND trash='0'", $row["id"]);
      foreach ($rows_file as $row_file)
      {
      $this->result["files"][] = array(
      "link" => BASE_PATH.'attachments/get/'.$row_file["id"]."/".$row_file["name"],
      "size" => $this->diafan->convert($row_file["size"]),
      "name" => $row_file["name"],
      );
      }


      на вот такой код

      Код

      $rows_file = DB::query_fetch_all("SELECT id, name, size, extension FROM {attachments} WHERE module_name='files' AND element_id='%d' AND trash='0'", $row["id"]);
      foreach ($rows_file as $row_file)
      {
      $this->result["files"][] = array(
      "link" => BASE_PATH.'attachments/get/'.$row_file["id"]."/".$row_file["name"],
      "size" => $this->diafan->convert($row_file["size"]),
      "name" => $row_file["name"],
      "extension" => $row_file["extension"]
      );
      }


      и дальше уже получать в $f["extension"]

      P.S. этот код там в нескольких местах
      • 18 июля 2015 г.
      • Спасибо! Сделал! Но выводит в таком формате :
        application/msword
        application/pdf
        image/jpeg
        и т.п.

        А как чтобы именно pdf, doc, zip и т.п.
        думал с помощью strpos() и substr() из $f["size"] вытягивать... но если в название файла будет содержать несколько точек, то не выйдет:/
        • 18 июля 2015 г. , редакция: 18 июля 2015 г.
        • Я вот так как-то у товара вот так делал:

          Код
          if($result["ids_param"][3]["value"]) {
          foreach ($result["ids_param"][3]["value"] as $files)
          {

          $type = end(explode(".", $files["link"]));
          echo $type;
          }
          }


          может пригодится

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум