PHP权限拒绝使用unlink和rmdir

时间:2014-01-05 01:51:52

标签: php unlink opendir rmdir

我一直想弄清楚为什么我的Php代码给了我一个恼人的错误。我尝试了以前的帖子中的无数函数,但它给出的错误是“Permission Denied”。从我的理解要么我必须有特殊的权限删除文件等。我已经尝试了多个解决方案,但我仍然得到这个错误。如果有人能指出我正确的方向,这将是伟大的。我在下面发布了我的代码片段。感谢

      $first_sub = "my_dir";        
        if(is_dir($first_sub)){
            $read_sub1 = opendir($first_sub);
            while(false !== ($files = readdir($read_sub1))){
                if($files!="." && $files!=".."){
                    unlink($first_sub ."/". $files);
                }
            }
            closedir($read_sub1);

3 个答案:

答案 0 :(得分:4)

您应该为服务器目录设置适当的权限: 访问:http://bd1.php.net/chmod

<?php
// Read and write for owner, nothing for everybody else
chmod($first_sub ."/". $files, 0600);

// Read and write for owner, read for everybody else
chmod($first_sub ."/". $files, 0644);

// Everything for owner, read and execute for others
chmod($first_sub ."/". $files, 0755);

// Everything for owner, read and execute for owner's group
chmod($first_sub ."/". $files, 0750);
?>

unlink之前,您可以调用此函数。

答案 1 :(得分:0)

我从unlink权限被拒绝了。 但我解决了。错误显示如下unlink(../ foldername /)Permission denied。

我的错误代码是这样的:

$image = select_table('webpage', 'wp_name', '$id');
$update = "UPDATE webpage SET wp_image = NULL, wp_modifiedby = '{$position}', wp_datemodified = '{$date_now}' WHERE wp_name = '{$id}'";

    if ( unlink('../webpage/'.$image_dir) && $qry_update = mysqli_query($connection, $update) ) {
        // success
    } else {
        // failed
    }

现在我解决了 我的正确代码是这样的:

$image = select_table('webpage', 'wp_name', $id);

    $update = "UPDATE webpage SET wp_image = NULL, wp_modifiedby = '{$position}', wp_datemodified = '{$date_now}' WHERE wp_name = '{$id}'";

    if ( unlink('../webpage/'.$image['wp_image']) && $qry_update = mysqli_query($connection, $update) ) {
        // success

    } else {
        // failed

    }

答案 2 :(得分:0)

对于登陆此页面的人来说,可能就像没有将$files设置为现有文件一样简单。

很不幸,但我发现消息:Warning: move_uploaded_file(): Unable to move也可能意味着file not found

不太可能是这个OP问题的原因,但当然值得验证您传递的变量所代表的文件实际存在于目录中。