在one.com上的php中创建图像上传工具

时间:2017-12-07 16:34:53

标签: php file upload

我正在尝试使用php为我的网站创建一个简单的文件上传工具,我相信大部分代码都很好。我正在使用one.com,我有一个资产文件夹,然后在其中有一个图像文件夹,我希望将图像上传到。我不确定文件图像路径的内容。当我尝试上传图像时,“完成”会回显到页面,但我的图像不会出现在文件夹中。

if(isset($_POST['submit'])){


// GETTING INFO FROM FILE WE'VE UPLOADED
$file = $_FILES['image'];
$fileName = $_FILES['image']['name'];
$fileTmpName = $_FILES['image']['tmp_name'];
$fileSize = $_FILES['image']['size'];
$fileError = $_FILES['image']['error'];
$fileType = $_FILES['image']['type'];
//Splitting the filename on the extension
$fileExt= explode ('.', $fileName);
//Getting the extension from the file and tolower so we can find out if it is an allowed file type
$fileActualExt = strtolower(end($fileExt));
//File types that we are going to allow
$allowed = array('jpg','jpeg','png');

if(in_array($fileActualExt, $allowed)){
    if($fileError === 0){
        $fileNameNew = uniqid('', true).".".$fileActualExt;

        $fileDestination = '/assets/images/'.$fileName;   //PROBLEM??

        move_uploaded_file($FileTmpName, $fileDestination);
        echo"Done?";
    }else{
        echo "There was an error?";
    }}
    else {
    echo "You cannot upload files of this type";
}}

2 个答案:

答案 0 :(得分:0)

PHP是否有权写入该目录?

你没有在move_uploaded_file()上检查错误,你只是回应"完成了?"。

检查images目录的权限,然后检查文件是否已被移动。

if(move_uploaded_file($FileTmpName, $fileDestination)){
   //File was moved
}else{
  //Error
}

另外,请尝试更改

 $fileDestination = '/assets/images/'.$fileName;   //PROBLEM??

$fileDestination = 'assets/images/'.$fileNameNew;   //PROBLEM??

希望有所帮助!

答案 1 :(得分:0)

您使用的路径是错误的。您需要完整路径或相对于您运行的文件位置的路径。尝试

$fileDestination = getcwd().'/assets/images/'.$fileName;

表示完整路径,或只是

$fileDestination = './assets/images/'.$fileName;

表示相对于当前目录的路径。这假定您运行的文件位于包含assets文件夹的同一目录中。