im使用此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...');
}
?>
有没有办法将这些代码或任何其他建议结合起来解决这个问题?
关于:)
我理解你的问题,所以你不能在你的Web服务器上创建文件夹?所以你基本上对那个文件夹没有任何权限,或者说更好。Web服务器用户没有。
如果您在Linux上使用像apache2这样的Web服务器,则必须授予用户对备份文件夹的父文件夹的www数据权限。
linux命令:chown -R www-data:www-data <your Folder>