PHP将文件扩展名添加到url

时间:2016-01-28 16:20:26

标签: php

我有一个简单的PHP图像上传器,代码如下。

<?php
if(isset($_FILES['image'])){
    $errors= array();
    $file_name = $_FILES['image']['name'];
    $file_size =$_FILES['image']['size'];
    $file_tmp =$_FILES['image']['tmp_name'];
    $file_type=$_FILES['image']['type'];   
    $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));

    $expensions= array("jpeg","jpg","png");         
    if(in_array($file_ext,$expensions)=== false){
        $errors[]="extension not allowed, please view all of the allowed   extensions before uploading.";
    }
    if($file_size > 2097152){
    $errors[]='File size must be excately 2 MB';
    }               

    $file_name = mt_rand(100000000,999999999); 

    if(empty($errors)==true){
        move_uploaded_file($file_tmp,"images/".$file_name);
        echo "<script type=\"text/javascript\">swal({ title: 'Success!',   html:  'Your image has been uploaded <a href=\"/images/$file_name\">here</a> '   });</script>";
    }else{
        print_r($errors);
    }
}
?>

我最近添加了这个脚本

$file_name = mt_rand(100000000,999999999); 

因此每张图片都有自己独特的网址,问题是图片末尾没有.jpg,.png /文件扩展名。当我拍摄图片的链接并在最后添加一个.jpg时,它会给我一个404错误。 (而且我知道该文件是jpg)

修改

为了澄清,网址将如下所示www.websitehere / com / images / 324686653

但是当我将扩展名添加到这样的结尾时..

www.websitehere / com / images / 324686653.png它会给我一个404

1 个答案:

答案 0 :(得分:0)

感谢Armin帮助我回答这个......

所以这就是我所做的,我补充说:

move_uploaded_file($file_tmp,"images/".$file_name.".".$file_ext);

然后补充说:

<a href=\"/images/$file_name.$file_ext\">here</a>

希望这有帮助!