PHP将文件扩展名添加到url

PHP将文件扩展名添加到url,php,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'

我有一个简单的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);
    }
}
?>
因此,每个图像都有自己独特的url,问题是图像末尾没有.jpg、.png/文件扩展名。当我获取图像的链接并在末尾添加一个.jpg时,它会给我一个404错误。(我知道这个文件是jpg)

编辑

只是为了澄清一下,URL将如下所示:www.websitehere/com/images/324686653

但是当我像这样在末尾加上扩展名时


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

感谢Armin帮助我回答这个问题

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

move_uploaded_file($file_tmp,"images/".$file_name.".".$file_ext);
<a href=\"/images/$file_name.$file_ext\">here</a>
然后加上这个,

move_uploaded_file($file_tmp,"images/".$file_name.".".$file_ext);
<a href=\"/images/$file_name.$file_ext\">here</a>


希望这有帮助

您想要什么?在移动文件之前将扩展名附加到
$file\u name
有什么问题?是否尝试将扩展名添加到文件名?比如:移动上传的文件($file\u tmp,“images/”$file\u name.“.”$file\u ext);或者类似的东西…@Armin是的,我试过了,那也会向我扔一个404。如果你的扩展是正确的,我不明白为什么这不起作用。你能用var_dump/echo这个部分$file_tmp,“images/”$file_name.“.”$file_ext吗?你应该找到上传的图片,并检查是否添加了扩展名。。。