肯定是你程序的问题,这个move_uploaded_file函数就是替代copy的,没这个问题

解决方案 »

  1.   

    我只写了上面一句move_uploaded_file及一个提交页面。经过测试发现  如果名字为
      date('Ymd')反复提交2次可以上传成功。如果使用 date('YmdHis')不能成功, 如
    果使用 date('YmdHi')反复提交9次可以成功。
    反复提交的意思就是,提交后页面提示上传成功,查看目标目录不存在上传文件,点击后退
    按钮后退回到上一个提交页面,再次提交,如此反复。
    本人设置文件名为   abc.jpg 上传顺利完成。如果输入 20050918102038.jpg则会出现
    上传不成功。
         这里的不成功说的没有错误提示,上传后返回值是1。 $_FILES['upload']['tmp_name']
    查看 临时文件存在的情况下,使用move_uploaded_file 。目标文件夹中没有发现 上传保存民族
    为日期数字串的文件,我测试用 sprintf("%s",time()) 做文件名,同意没有上传成功。
           因此我断定可能是 php5的bug .
           本人的操作系统: windows2003 + apache2 + php5 +mysql
      

  2.   

    move_uploaded_file($_FILES['upload']['tmp_name'],"./Image/".date("YmdHis").".jpg");
    前面带一个路径看看
      

  3.   

    to hotlynn (豆豆熊) 你是不是用 Linux 做 Web服务器。如果是,我就告诉你原因。
      

  4.   

    看样子没有人能够清楚这个问题了!
    下面是本人的代码
    update.html:
    <form action="uploadfile.php" method="post" enctype="multipart/form-data" name="upfrm" id="upfrm">
      <label>
      <input name="upload" type="file" id="upload" />
      </label>
      <label>
      <input type="submit" name="Submit" value="提交" />
      </label>
    </form>uploadfile.php:
    $r = move_uploaded_file($_FILES['upload']['tmp_name'],date("YmdHis"));
    if($r){
        echo $_FILES['upload']['tmp_name']."<br/>";
        echo "上传成功";
    }
    else{
        echo "上传失败");
    }     上面是相关代码,当上传成功时候,显示tmp_name 字符串 和 上传成功字样
    但是 相关目录下却没有当前时间做文件名的文件。
          我曾经创建一个目录  ./images/保存文件为 date("YmdHis")或者 sprintf("%s",time());
    都出现上述问题,但是文件名改为 "abc"或者任意字母组合上传成功,找到abc文件。后来改为200050918091136 这样类似 date("YmdHis")的数字字符串,同样上传失败。
          但是并不显示失败,而是提示上传成功。我已经换了3台电脑测试都出现这个问题。
         请高手高手高高手指点一下。到底是什么原因造成的?
        已经2天了,还没有人知道咋回事情?