简体   繁体   中英

File upload issue in host server

When try to upload a image file, hosting server makes warning sometimes. If i try uploading the same file in succeeding tries the image will be uploaded.

Warning:

Warning (2): move_uploaded_file(files/photos/3.jpg) [http://php.net/function.move-uploaded-file]: failed to open stream: Permission denied [APP/controllers/components/file_upload.php, line 55]
Warning (2): move_uploaded_file() [http://php.net/function.move-uploaded-file]: Unable to move '/tmp/phpUutr9Z' to 'files/photos/3.jpg' [APP/controllers/components/file_upload.php, line 55]

File Upload

if ( is_uploaded_file($file_temp) ) {
    if (move_uploaded_file($file_temp, $destination . $filename . '.' . $extension)) {
    $error = "SUCCESS";
    return $error;
    } else {
    $error = "ERROR";
    return $error;
    }
}

Here when warning comes 'ERROR' in else portion is also returned with warning...

How I can correct it ?

It is working nice in local server...

您的脚本可能没有写入目标目录的权限。

So is APP/controllers/components/files/photos/3.jpg where you want to save your uploads? If so then its a permissions problem.

Or do you mean: WEB_ROOT/files/photos/3.jpg if so you need to change your code too:

if ( is_uploaded_file($file_temp) ) {
    if (move_uploaded_file($file_temp, '/'.$destination.$filename.'.'.$extension)) {
    $error = "SUCCESS";
    return $error;
    } else {
    $error = "ERROR";
    return $error;
    }
}

notice the forward slash '/'.$destination

Check the CHMOD on the directory and on the file. Usually PHP is ran like root , but you can still forbid it's access with CHMOD.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM