我的php代码无法在主机中创建目录

时间:2015-11-09 07:45:37

标签: php mysql directory

即时通讯使用这个PHP代码来创建我所有MYSQL数据库的备份。 但它发送此错误:无法创建目录

<?php
..
..
..
..

        if (mysql_select_db($db)) print "Selected [$db]\n";
        else die("Failed to select db [$db]");
        foreach (array("schema","data") as $pass){
            $sql = mysql_query("show tables");
            $day = date("l");
            if ($pass=="schema") $dir = "/$backup_dir/$db/schema";
            else $dir =  "/$backup_dir/$db/$day";
            if (!file_exists($dir)) system("mkdir -p $dir");
            if (!file_exists($dir)) die("Couldn't Create $dir");
            if ($pass=="data"){
                $latest = ( /$backup_dir/$db/latest"; )
                unlink($latest);
                system("/bin/ln -s \"$dir\" \"$latest\"");
            }            
            cleanup($dir);
            if ($sql) while ($s = mysql_fetch_assoc($sql)) {
                if (!isset($s["Tables_in_{$db}"])) {
                    print "no result";
                    print_r($sql);
                    die();
                }

..
..
..

?>

使用以下代码,我可以在我的主机中创建目录:

<?php
$structure = './depth1/depth2/depth3/';
if (!mkdir($structure, 0777, true)) {
    die('Failed to create folders...');
}
?>

有没有办法将这些代码或任何其他建议结合起来解决这个问题?

问候:)

1 个答案:

答案 0 :(得分:0)

我理解你的问题,你不能在你的网络服务器上创建一个文件夹?所以你大多没有对该文件夹的任何权利,或者更好地说。网络服务器用户没有任何。

如果您在Linux上使用类似apache2的Web服务器,则必须在备份文件夹的父文件夹中为用户提供www-data权限。

linux命令: chown -R www-data:www-data <your Folder>