【问题标题】:I am getting error for move_uploaded_file while trying to upload file on my live site尝试在我的实时站点上上传文件时出现 move_uploaded_file 错误
【发布时间】:2013-08-08 03:19:21
【问题描述】:

这是错误

警告:move_uploaded_file() [function.move-uploaded-file]:open_basedir 限制生效。文件(C:\Windows\Temp\php205.tmp)不在允许的路径中:(E:\inetpub\vhosts\astradingcompany.org\httpdocs)在 E:\inetpub\vhosts\atradingcompany.org\httpdocs \mycar\postaddata.php 第 26 行

警告:move_uploaded_file(mycar/uploads/car001.jpg) [function.move-uploaded-file]:无法打开流:E:\inetpub\vhosts\atradingcompany.org\httpdocs\mycar 中没有这样的文件或目录\postaddata.php 第 26 行

警告:move_uploaded_file() [function.move-uploaded-file]:无法将 'C:\Windows\Temp\php205.tmp' 移动到 E:\inetpub\vhosts 中的 'mycar/uploads/car001.jpg' \atradingcompany.org\httpdocs\mycar\postaddata.php 第 26 行

这里是代码sippet

if ($_FILES['file']['error'] === UPLOAD_ERR_OK) 
     {
        if((($_FILES['file']['type'] == 'image/gif') 
            || ($_FILES["file"]['type'] == 'image/jpg') 
            || ($_FILES["file"]['type'] == 'image/png')
            || ($_FILES["file"]['type'] == 'image/jpeg')) 
            //&& ($_FILES["file"]['size'] < 20000) 
            && (in_array($extensions, $allowedextensions)))                                                                                                      
            {                                                       
             if (file_exists("mycar/uploads/". $_FILES['file']['name']))
                {
                $msg =  $_FILES['file']['name']. "<b> <font face='Verdana, Geneva, sans-serif' color='red'>File Already Exists</font></b>";
                header('Location:postad.php?msg='.$msg);
                }
                else
                    {
//                      $filename = "mycar/uploads/" .$_FILES['file']['name'];
                    move_uploaded_file($_FILES['file']['tmp_name'], "mycar/uploads/" . $_FILES['file']['name']);
//                  is_uploaded_file($_FILES['file']['tmp_name']), "uploads/" . $_FILES['file']['name'];
//                  is_uploaded_file($_FILES['file']['tmp_name'],"uploads/" . $_FILES['file']['name']);
//                  copy($_FILES['file']['tmp_name'], $uploaddatafile);
//                  copy($_FILES['file']['tmp_name'], $filename);

【问题讨论】:

  • 您可以访问您的 php.ini 吗?

标签: php file


【解决方案1】:

请检查此How to fix PHP upload file inherit permissions error using Windows IIS Server。感谢 Garon,对我来说也有同样的问题。

【讨论】:

    【解决方案2】:

    创建一个名为 uploads 的目录,并确保它确实可以由具有必要 chmod 权限的服务器写入。在某些情况下,根据服务器配置,目录可能还需要足够的所有权,例如 www-data

    【讨论】:

    • 上传目录存在以及如何在托管我的网站的服务器上设置 chmod 权限
    • ssh 进入服务器并使用chmod。您可以通过man chmod 获取更多信息。
    • 您也可以通过建立 777 或 755 权限来使用 ftp 执行此操作
    • 以及如何通过 ssh 进入服务器
    • 这是 Windows 主机,没有 Linux 权限!
    猜你喜欢
    • 2011-06-02
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    相关资源
    最近更新 更多