Я пытаюсь реализовать 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
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="">