我必须在apache服务器中创建一个目录,但看起来好像无法识别命令。这是我的密码。
<?php
mkdir("var/www/devData/",0777);
print "created";
?>
当我启动file.php时,我的输出是"created",但在我使用shell检查dir是否存在但没有dir之后。有人能帮我吗?
error_reporting(E_ALL);
ini_set('display_errors', 1);
// a new directory in your current working directory (cwd)
$path = dirname(__FILE__) . "/your/path";
if(!mkdir($path, 0777, true)) {
echo "Failure";
} else {
echo "Success";
}
我认为您没有创建该路径的权限。您可以检查是否可以使用is_writable()
写入该目录。mkdir()
文档告诉您更多信息。
下面的代码可以通过php函数来查找当前目录,从而降低复杂性。
$thisdir = getcwd(); //current directory
if(mkdir($thisdir ."/mydir", 0777 ))
{
echo "Directory has been created successfully...";
}
else
{
echo "Failed to create directory...";
}
这种东西效果很好。确保您的父目录是可写的。
您可能无权执行此操作尝试
<?php
$new_folder = "var/www/devData";
if(!mkdir($new_folder,0777,true)) { // true = for recrusive createing
echo "Can't creating ".$_SERVER['DOCUMENT_ROOT']."/".$new_folder;
}
else
echo "Successful creating ".$_SERVER['DOCUMENT_ROOT']."/".$new_folder;
?>
读取此
http://php.net/manual/en/function.mkdir.php
试试这个:-
<?php
// Desired folder structure
$structure = './depth1/depth2/depth3/';
// To create the nested structure, the $recursive parameter
// to mkdir() must be specified.
if (!mkdir($structure, 0, true)) {
die('Failed to create folders...');
}
// ...
?>
首先确保file.php
脚本的所有者具有对目录/var/www/
的写访问权限。is_writable()
会告诉你。
然后:您使用的是相对路径,因此脚本尝试创建一个相对于其自身位置的目录。你需要
a) 使用绝对路径(/var/www/...
)
或
b) 使用相对路径但不使用file.php
本身所在的路径(例如:file.php
=/var/www/file.php
,使用mkdir("devData/",0777);
)。
另外:它当然写着"创造",因为不管怎样你都会把它打印出来。如果你想让它只在没有问题的情况下说"创建",请尝试
if (mkdir("devData/",0777)) {
echo "created";
}
else {
echo "something went wrong...";
}