移动和重命名上传的文件


Moving and renaming an uploaded file

对不起,如果这很容易,但我对编程有点陌生,所以我有问题重命名临时上传的文件。下面是我的代码:

HTML:

<input type="file" class="upload-img" name="logo" id="image" accept="image/*" />
PHP:

if(move_uploaded_file($_FILES['logo'] ['tmp_name'], "images/".[logo])) {
    print '<p> Your image has been uploaded </p>';
} else {
    print '<p> There was an error with the image</p>';
}

有没有人能告诉我如何正确地将临时上传的图像重命名为"徽标"?

我目前得到一个错误说:

警告:fopen(images/logo.png): failed to open stream: No such file或1443行/home/matos/public_html/pdftest/tfpdf.php中的目录FPDF错误:无法打开图像文件:images/logo.png

首先您应该知道文件的类型。$_FILES['logo']['type']会给出它的类型。检查下面的代码。

    $extension = explode("/", $_FILES['logo']['type']);
    $rename="logo.".$extension[1];
    if(move_uploaded_file($_FILES['logo']['tmp_name'], "images/" . $rename)) {
       print '<p> Your image has been uploaded </p>';
    } else {
       print '<p> There was an error with the image</p>';
    }

images文件夹的绝对路径是什么?

我假设表单提交文件到/pdftest/tfpdf.php

和/home/matos/public_html/pdftest/tfpdf.php是脚本句柄上传的文件。如果images文件夹的绝对路径是/home/matos/public_html/images你的代码应该是

move_uploaded_file($_FILES['logo'] ['tmp_name'], "../images/logo.png")

因为你的上下文的基本路径是主脚本的文件夹,我假设是/pdftest/tfpdf.php,它是/home/matos/public_html/pdftest/在你的本地。当您保存上传的文件时,实际路径将是

/home/matos/public_html/pdftest/../images/logo.png
shorted /home/matos/public_html/images/logo.png