我想弄清楚如何在PHP中将图像类型设置为变量。我需要从数据库中提取图像,找到它的图像类型并显示它。目前它只显示JPG格式。获取图像类型,PHP
,用来上传的代码是:
if(isset($_FILES['image']) && $_FILES['image']['tmp_name'] != '') {
$tempext = explode('.', $_FILES['image']['name']);
$tempext = strtolower($tempext[count($tempext) - 1]);
switch($tempext) {
case 'jpg':
case 'jpeg':
$ext = '.jpg';
break;
case 'gif':
$ext = '.gif';
break;
case 'png':
$ext = '.png';
break;
default:
$ext = false;
}
if($ext != false && move_uploaded_file($_FILES['image']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/img/profiles/' . $id . $ext)) {
$imagesuccess = chmod($_SERVER['DOCUMENT_ROOT'] . '/img/profiles/' . $id . $ext, 0644) ? 'yes' : 'no';
} else {
$imagesuccess = 'no';
}
}
编辑:
我做了一点点的进步,主要是清理一些愚蠢的错误,但我仍然没有得到任何图像出现。
下面是更新开关情况:
switch ($ext) {
case 'jpg':
case 'jpeg':
$ext = '.jpg';
break;
case 'gif':
$ext = '.gif';
break;
case 'png':
$ext = '.png';
}
和图像位置:
if(!file_exists($_SERVER['DOCUMENT_ROOT'] . $imgurl . 'profiles/' . $r['id'] . $ext)) {
echo '<img src="' . $imgurl . 'profiles/unavailable.gif" id="profile-big-img" />' . PHP_EOL;
} else {
echo '<p><img class="profileimg" src="' . $imgurl . 'profiles/' . $r['id'] . $ext . 'id="profile-big-img" alt="' . $r['forename'] . ' ' . $r['surname'] . (($r['course'] == 'graphics') ? ' Graphic Design' : ' Illustration') . '" /></p>' . PHP_EOL;
}
你有机会看看最终的HTML吗? – 2012-03-21 15:32:14
$ tempext来自show time? – 2012-03-21 15:32:44
我建议立即关闭这类问题,以避免产生HTML。任何理智的社区都会接受它。当然不是这个。 – 2012-03-21 15:34:08