zoukankan      html  css  js  c++  java
  • 关于move_uploaded_file()出错的问题

    move_upload0ed_file()函数返回參数较少。可是引起出错的原因却有非常多,所以对于刚開始学习的人难免会遇到问题。

    出错原因大概有下面三点:

    1.假设检測到文件不是来自post上传。这个文件不会运行cp工作;

    2.目的路径找不到。

    3.目的路径权限非运行进程课读写(这条是本人下午发现的);

    首先看看这几行代码,了解一下环境:

    if(move_uploaded_file($fileInfo['tmp_name'], $destination))

    {
       $mes="文件上传成功";
    }

    else

    {

                $mes="文件移动失败";
    }


    结果返回 文件移动失败


    今天下午查找了不少资料,大概有下面几种说法:

    1.应该用绝对路径,本人的參数 $destination 值为 uploads,加上绝对路径为 /home/llawlite/imooc/shopImoc/test/uploads

           经验证不是这个问题。

    2.应该在路径前加上 ROOT, $destination=ROOT.$destination; 经验证无效;

    最后。仅仅能自己摸索,发现这是一个LINUX文件权限的问题。

    首先。在脚本里post过来的文件放在了暂时文件夹里(tmp_dir),然后复制到目的路径。

    假设目的路径没有写文件的权限,那么函数的运行是会出错的。



    今天下午做了例如以下尝试。首先把目的路径更改为/tmp下 $destination="/tmp".$fileInfo['name'],结果函数成功运行。

    经比較发现/tmp的权限是 drwxrwxrwx 。而我的 /home 权限为 drwxr-xr-x 。问题一目了然。


    以下改动/home的权限 chmod -R 777 /home (对整个文件夹以及子文件夹全部文件更改了权限)。


    再把路径改为原来的路径,经验证问题已经解决。

  • 相关阅读:
    怎么样使图片高度与宽度成比例自适应
    css文本溢出隐藏显示省略号(单行+多行)
    Monkey脚本API简介
    Monkey自动化测试
    MonkeyRunner自动化测试
    Shell逐行读取文件的3种方法
    shell脚本中调用其他脚本的三种方法
    CPU测试--通过proc获取CPU信息
    CPU测试--查看cpu占用率
    shell脚本如何获取当前时间
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6891425.html
Copyright © 2011-2022 走看看