delete_files.php
$dir = "uploadfiles";//设置文件保存目录 注意包含/
   $id=$_GET['delete'];
    $conn=mysql_connect('localhost','root','');
    $flag=mysql_select_db('laborder' ,$conn);
mysql_query("set names utf8");
$sql="select * from files where files_id='$id'";
$sqlupdate="delete from student where student_id='$id'";
 $result=mysql_query($sql,$conn);
 if($lists=mysql_fetch_array($result))
 { $name=$lists['files_name'];
   $a=dirname(__FILE__);
   $i=unlink($a/$dir/$name);
                  if(mysql_query($sqlupdate)&&$i)
  {   
  
   echo" <script type='text/javascript'>"
                      ."txtOption='删除成功!';".
                      "alert(txtOption);";
                       echo "</script>";  
   echo "<script>window.location.href='admin_files.php';</script>";
   
  }
 }
这是我做的删除文件的代码,删除文件的同时把他的名称从数据库中删除,现在无法实现删除文件,unlink删除文件时绝对路径吧,用dirname(__FILE__)取得本文件的据对路径,$dir是要删除的文件所在文件夹,请问哪里不对,新手求指点。文件结构是www/test5/uploadfiles/要删除文件    www/test5/delete_files.php本文件

解决方案 »

  1.   

    先把 $a/$dir/$name 这个echo看看,地址对不
      

  2.   

    $xxx = "{$a}/{$dir}/{$name}";
    echo $xxx;
    unlink($xxx);
      

  3.   

     $i=unlink("$a/$dir/$name");  echo $i; //看路径是否正确。
      

  4.   

    chmod 0777 [filename] (root权限)
      

  5.   

    Warning: unlink(E:\work\wamp\www\test5/uploadfiles/SOBEL算子.doc}) [function.unlink]: No such file or directory in E:\work\wamp\www\test5\delete_files.php on line 28
     按照3楼的更改居然有这个警告
      

  6.   

    你表示的文件路径不正确,目录连接符有问题。
    更改你的unlink参数,使之为:
    E:\work\wamp\www\test5\uploadfiles\SOBEL算子.doc
      

  7.   

    Warning: unlink(E:\work\wamp\www\test5\uploadfiles\SOBEL算子.doc) [function.unlink]: No such file or directory in E:\work\wamp\www\test5\delete_files.php on line 27
     变过来警告依旧
      

  8.   

    可能是PHP页面编码和文件名编码不符,把文件名换成全英文的得了
      

  9.   

    在 Windows 平台上,要小心转义文件路径中的每个反斜线,或者用斜线。
    <?php
    $handle = fopen("c:\\data\\info.txt", "r");
    ?>unlink(E:\\work\\wamp\www\\test5\\uploadfiles\\SOBEL算子.doc)