Что я должен сделать, чтобы показать определенные изображения для определенных типов расширений файлов?

0

Я пытаюсь реализовать php, панель/панель управления mySQL, которая показывает небольшое изображение предварительного просмотра файла, который был загружен, если файл не является jpg, jpeg, png или gif, то я хотел бы отобразить изображение заполнителя,

Так, например, если загруженный файл на самом деле является jpg, столбец предварительного просмотра в таблице будет показывать изображение, связанное с именем файла, хранящегося в БД (это у меня работает), но если это PDF, то он должен показать сток/заполнитель/предопределенное изображение по моему выбору.

Я надеюсь сделать это на php, но у меня очень ограниченные знания в этой области, так как этот проект является моим первым крупным php-проектом.

Я попытался реализовать эту функцию с помощью переключателя js/jquery, но мне не повезло, код для последней попытки приведен ниже:


 $(document).ready(function() {

 var fileName, fileExtension;

 fileName = event.target.innerHTML;

 fileExtension = fileName.replace(/^.*\./, '');

 switch (fileExtension) {

  case 'png': case 'jpeg': case 'jpg':
      $('#tableImg').attr("src","<?php echo $row["fileName"]; ?>");
      break;

  case 'zip':
      $('#tableImg').attr("src","images/pdf.png");
      break;

  case 'pdf':
      $('#tableImg').attr("src","images/pdf.png");
      break;
    }
});

Я больше не использую этот метод, это была моя последняя попытка заставить его работать.

Столбец предварительного просмотра в настоящее время вызывается в файле php следующим образом;

<img id="tableImg"  class="admin-thumb" src="<?php echo $row["fileName"]; ?>" alt="">

Я знаю, что моя текущая методология позволяет показывать только файлы с jpg, png и другими расширениями, связанными с изображениями, но я не могу понять, как заменить echo $row["filename"]

То, что я думаю, что я после, и, пожалуйста, поправьте меня, если я не прав, это либо if, else if, else или php switch. Я просто понятия не имею, как заставить это работать способом, упомянутым ранее.

Напомним: мне нужна помощь, чтобы в столбце предварительного просмотра таблицы отображалось изображение, связанное с именем файла или URL-адресом, или, если тип файла - файл в формате zip, pdf или non-image, оно отображает выбранное мной изображение-заполнитель. У меня действительно был скриншот, но у меня пока нет 10 повторений.

Любая помощь приветствуется и моя благодарность заранее.

Limur

  • 0
    Сначала получите расширение из fileName php.net/manual/en/splfileinfo.getextension.php, а затем используйте if / else или переключатели, чтобы поместить правильное изображение в src
  • 0
    Спасибо за быстрый ответ, я ненавижу быть «тем парнем» и заранее извиняюсь, но не могли бы вы привести возможный пример того, как вы это сделаете. Я особенно теряюсь, когда дело доходит до передачи необходимого URL src из оператора switch / if в img src. Еще раз спасибо, Лимур
Теги:

1 ответ

0

SplFileInfo должен предоставить расширение, а затем просто использовать оператор switch, чтобы установить изображение, которое вы хотите показать.

$myfile=$row["fileName"];
$info = new SplFileInfo($myfile);
$ext = $info->getExtension();

switch ($ext) {
 case 'zip':
    $image='zip.png';
    break;
 case 'pdf':
    $image='pdf.png';
    break;
 default:
    $image=$myFile;
}


<img id="tableImg"  class="admin-thumb" src="<?= $image ?>" alt="">
  • 0
    Большое вам спасибо, вы фантастический человек, вы :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню