Php 将上载图像的名称更改为特定名称

Php 将上载图像的名称更改为特定名称,php,Php,我有一个上传图片的上传表单,我想把图片的名字改成一个特定的名字 这是我的代码: <?php // A list of permitted file extensions $allowed = array('png', 'jpg', 'gif','zip'); if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ $extension = pathinfo($_FILES['upl']['name'], P

我有一个上传图片的上传表单,我想把图片的名字改成一个特定的名字

这是我的代码:

<?php

// A list of permitted file extensions
$allowed = array('png', 'jpg', 'gif','zip');

if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){

$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);

if(!in_array(strtolower($extension), $allowed)){
    echo '{"status":"error"}';
    exit;
}

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
    echo '{"status":"success"}';
    exit;
}
}

echo '{"status":"error"}';
exit;

您应该在下面的代码中更改$\u文件['upl']['name']

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
例如:

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/nameOfTheFile.jpg')){

您可以在调用函数
move\u upload\u file
中添加自定义文件名。 像

如果要添加唯一名称,则可以使用like

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.time().$extension )){

更改以反映您的问题,将根据当前时间生成一个随机数,并从最初上载的文件中附加扩展名。

那么您收到的错误或面临的问题是什么呢?您所做的一切都是使用与以前相同的名称。PHP并没有做到这一点,但你做到了。查看
move\u uploaded\u file
函数的第二个参数it dosent work,是否可以链接到downlod完整的源代码,这样你就可以看到完整的实现it dosent work,是否可以链接到downlod完整的源代码,这样你就可以看到完整的实现,从那里下载,看看我在说什么,如果你最终对我想要的东西做了正确的更改,你可以留下来发布,非常感谢$extention=expload('.',$文件[“文件”][“名称])$您自己的姓名='MyImage'。$Extension;如果(move_upload_file($_FILES['upl']['tmp_name'],'uploads/'.$your_own_name)){echo'{“status”:“success”};退出;}只需复制并粘贴上述代码,而不是if(move_upload_file($_FILES['upl']['tmp_name'],'uploads/.$_FILES['upl'.$_FILES['upl']['name'])){'name']){退出;})你在发布它之前测试过它吗?它真的不工作,混乱,不工作,有没有可能我给你一个链接来下载完整的源代码,这样你就可以看到完整的实现。关于最后的文件名的一些细节就太好了
$temp = explode(".", $_FILES["file"]["name"]);

$newfilename = round(microtime(true)) . '.' . end($temp);

move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.time().$extension )){
$temp = explode(".", $_FILES["file"]["name"]);

$newfilename = round(microtime(true)) . '.' . end($temp);

move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);