1

我一直在试图弄清楚为什么我的 PHP 代码给了我一个恼人的错误。我已经尝试了上一篇文章中的无数功能,但它给出的错误是“权限被拒绝”。据我了解,我必须有特殊的权限才能删除文件等。我尝试了多种解决方案,但仍然出现此错误。如果有人能指出我正确的方向,那就太好了。我在下面发布了我的代码片段.. 谢谢

      $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);
4

3 回答 3

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你可以调用这个函数之前。

于 2014-01-05T02:01:28.793 回答
0

我从取消链接权限被拒绝中得到一个错误。但我修好了。错误显示如下 unlink(../foldername/) 权限被拒绝。

我的错误代码是这样的:

$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

    }
于 2015-02-10T06:38:38.707 回答
0

对于那些登陆此页面的人来说,它可能就像不设置$files到现有文件一样简单。

很不幸,但我发现消息:Warning: move_uploaded_file(): Unable to move也可以表示file not found.

不太可能是此 OP 问题的原因,但肯定值得验证您传递的变量表示的文件是否确实存在于目录中。

于 2017-01-06T13:32:53.200 回答