У меня есть путь к файлу изображения /files/uploads/1
но, как вы видите, у меня нет расширения, поэтому я не могу отобразить изображение. Как я могу получить расширение файла, чтобы я мог отобразить его? Спасибо!
РЕДАКТИРОВАТЬ: Вот код, который я пробовал. BMP, PNG, JPG, JPEG и GIF являются единственно возможными расширениями, но $ path заканчивается тем, что ему никогда не будет присвоено значение.
$exts = array('bmp','png','jpg','jpeg','gif');
foreach ($exts as $ext) {
if (file_exists("/files/uploads/" . $id . "." . $ext)) {
$path = "/files/uploads/" . $id . "." . $ext;
}
}
Лично у меня была проблема, когда у меня была ненужная косая черта (/) до моего пути в file_exists
проверьте, но решение вопроса остается прежним.
$exts = array('bmp','png','jpg','jpeg','gif','swf','psd','tiff','jpc','jp2','jpx','jb2','swc','iff','wbmp','xbm','ico');
foreach ($exts as $ext) {
if (file_exists("files/uploads/" . $id . "." . $ext)) {
$path = "/files/uploads/" . $id . "." . $ext;
}
}
Вам не нужно расширение файла, чтобы показать изображение.
<img src="/files/uploads/1">
Покажет изображение. Это так же, как работают изображения placehold.it
<img src="http://placehold.it/350x150">
Прежде всего, я думаю, что когда вы получаете имя файла для изображения, это означает, что нет необходимости добавлять расширение, поэтому у вас есть имя файла и папка с изображением.
это должно выглядеть просто так:
$fullpath = ('uploadword/'.$filename);
// then call it
<img src='".$fullpath."'>
Обычный сценарий для загрузки всех изображений в определенную папку, затем получить имя файла и сохранить его в базе данных
move_uploaded_file($file_tmp,"upload/".$filename);
Некоторые профессионалы делают более сложным, чтобы сделать имя файла уникальным, потому что они ожидали некоторых дублированных значений и многих причин, вот одна простая техника:
$anynameorfunction = "";// random number etc...
$newname = $anynameorfunction.$filename;
move_uploaded_file($file_tmp,"upload/".$newname);
Таким образом, когда они называют это снова, это должно быть просто так
$fullpath = ('uploadword/'.$newname);
// then call it
<img src='".$newname."'>
Это очень просто, и я хочу, чтобы вы поняли, что я имею в виду