写了个很简单的上传图片的php,但是一直无法运行成功,求帮忙找错
或者能提供一个正确的程序?只要能能够上传到文件夹,并且重命名图片就可以~拜谢
$id = $_SESSION['username'];$images =$_POST_FILES['images']['name'];
$file_name = explode(".",$images['name']);
$dest ="/photo/'".$id."'.'".$file_name[1]."'";
$r =move_uploaded_file($_FILES['images']['tmp_name'],$dest);$sql="update user set photo='".$dest."' where user_name='".$id."'";
if(mysql_query($sql)) echo"<script language=javascript>alert('Succefully');history.back();</script>";

解决方案 »

  1.   

    $images = $_FILES['images']['name'];
    $file_name = explode(".",$images);
    $dest = "/photo/$id.$file_name[1]";
    $r = move_uploaded_file($_FILES['images']['tmp_name'],$dest);
      

  2.   

    http://www.oschina.net/code/search?q=php+%E6%96%87%E4%BB%B6+%E4%B8%8A%E4%BC%A0
      

  3.   

    2楼正解
    $file_name = explode(".",$images);
    $dest ="/photo/'".$id."'.'".$file_name[1]."'";
    目录你确定是/photo  么,还是当前目录下的photo子目录?
      

  4.   


    不行是哪里不行?错误提示内容?
    目录问题吧?目录你确定是根目录 /photo 么,还是当前目录下的photo子目录?
      

  5.   

    有什么错误,或是提示,贴出来。还有web前端代码form里的enctype="multipart/form-data"加了吗
      

  6.   

    html部分
    <form name="photo" action="photo.php" method="post" enctype="multipart/form-data" >
    <table>
         <tr> <td><input type="file" id="upfile" name="upfile"></td> </tr>
         <tr><td><input name="submit" type="submit" value="submit" class="btm"/></td></tr> 
    </table>

    </form>不管是原来的还是二楼提供的,都是可以运行的……但是没有对数据库修改,也没有存储图片
    文件夹确定存在,数据库也米有错误,于是觉得很神奇orz
      

  7.   


    是根目录就是当前目录,然后下面有个子目录photo
      

  8.   

    <input type="file" id="upfile" name="upfile"> ????明明是 upfile 你却用 images 怎么可能对呢?
      

  9.   


    汗……不好意思……黏贴错了……我写的是images的
    就是各方面都没有问题,运行也出alert了
    但是就是数据库修改方面有问题<form name="photo" action="photo.php" method="post" enctype="multipart/form-data" >
    <table>
         <tr> <td><input type="file" id="images" name="images"></td> </tr>
         <tr><td><input name="submit" type="submit" value="submit" class="btm"/></td></tr> 
    </table>

    </form>
      

  10.   

    刚看出来$images =$_POST_FILES['images']['name'];
    是什么意思?
    不是应该$images =$_FILES['images']['name'];
    么?
      

  11.   


    嗯,根据二楼提供的已经改过了,现在是下面这样的,php是个单独的文档
     require_once("db_config.php");$images =$_FILES['images']['name'];
    $id = $_SESSION['username'];$file_name = explode(".",$images);
    $dest ="/photo/$id.$file_name[1]";
    $r =move_uploaded_file($_FILES['images']['tmp_name'],$dest);$sql="update user set photo='".$dest."' where user_name='".$id."'";
    if(mysql_query($sql)) echo"<script language=javascript>alert('Succefully');history.back();</script>";
      

  12.   


    alert出来了说明mysql_query()是执行了的。
    打印下sql语句,看下是哪里没有取到值,试下在sql控制台能否执行。
      

  13.   


    换了个环境,发现错误如下,求指导Warning: move_uploaded_file(/photo/.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/yiling/public_html/test/photo.php on line 9Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpcRDZ0j' to '/photo/.jpg' in /home/yiling/public_html/test/photo.php on line 9
      

  14.   

    终于知道哪里错了orz$dest ="/photo/$id.$file_name[1]";
    这里多了/太orz了,感谢一直帮忙的各位!