当用户将照片上传到我的网站时,我似乎更容易允许常见的图像扩展(jpg,png,gif),然后使用PHP将所有内容转换为jpg。我有很多次使用PHP我正在寻找一个图像,我必须使用自定义函数来检查图像名称的不同类型的扩展,但它似乎不值得,而且太重。我宁愿把所有转换为jpg并知道图像的确切路径,但看起来这可能是一个坏主意。
有没有更好的方法?其他人怎么做才能解决这个难题?
答案 0 :(得分:1)
首先检查上传的图像格式。
$valid_formats = array("jpg", "png", "gif", "bmp" , "jpeg");
if (isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") {
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if (strlen($name)) {
list($txt, $ext) = explode(".", $name);
if (in_array($ext, $valid_formats)) {
if ($size < (10240 * 10240)) {
$actual_image_name = time() . substr(str_replace(" ", "_", $txt), 5) . "." . $ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if (move_uploaded_file($tmp, $path . $actual_image_name)) {
//mysql_query("INSERT into hw_site_gallery SET gallery_content='$actual_image_name' ,hotel_id='$hotel_id', gallery_type='$gallery_type'");
/* QUERY END's HERE */
}
else
echo "failed";
}
else
echo "Image file size max 10 MB";
}
else
echo "Invalid file format..";
}
答案 1 :(得分:1)
你可以看看imgur.com和类似网站是如何做到的。
e.g。 http://i.imgur.com/m6Z68x3.jpg(只是imgur顶部的一些链接)。您可以将结尾更改为.png,或.gif或其他一些扩展,并且它可以正常工作。没有扩展名显示照片的信息,但您可以重写它以显示图像。
编辑:Prahbu几乎做1&amp; 3,使用time()而不是ID。你可以在这里结合2来做到这一点。