移动并重命名上传的文件

时间:2016-10-27 02:14:12

标签: php html

很抱歉,如果这很容易,但我对编程有点新,所以我在重命名临时上传文件时遇到问题。这是我的代码:

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>';
}

是否有人能够告诉我如何正确地将临时上传的图片重命名为&#39; logo&#39;?

我目前收到的错误是:

  

警告:fopen(images / logo.png):无法打开流:没有这样的文件   或1443行/home/matos/public_html/pdftest/tfpdf.php中的目录   FPDF错误:无法打开图像文件:images / logo.png

2 个答案:

答案 0 :(得分:0)

首先你应该知道文件的类型。 $_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>';
    }

答案 1 :(得分:0)

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

我假设表单提交文件为/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