我是php的初学者我的代码创建了一个目录,如下所示。
<?php
if($_POST["create"])
{
$name=$_POST["newDirCreated"];
$uploaddir = $name;
mkdir($uploaddir,0777);
print "created";
}
?>
但是不使用此目录创建目录。如果我想在public_html中创建一个目录,我该怎么办呢?
答案 0 :(得分:1)
mkdir()不会抛出异常。你必须使你的脚本更“健谈”,以获得有关正在发生的事情的更多信息
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
if( !isset($_POST["create"]) ) {
echo 'post parameter create not present';
}
else {
// you are absolutely sure about passing the POST parameter as-is to mkdir() ?
// ok, it's up to you; just make sure it doesn't get abused....
echo 'current working directory: ', htmlspecialchars(getcwd()), "<br />\n";
echo 'newDirCreated: ', htmlspecialchars($_POST["newDirCreated"]), "<br />\n";
$rc = mkdir($_POST["newDirCreated"], 0777);
if ( $rc ) {
echo 'created';
}
else {
echo "an error occured<br />\n";
if ( function_exists('error_get_last') ) {
echo 'error_get_last: ', htmlspecialchars(print_r(error_get_last(), true));
}
else if ( isset($php_errormsg) ) {
echo 'php_errormsg: ', htmlspecialchars($php_errormsg);
}
else {
echo 'no additional error information available';
}
}
}
但是请记住在调试之后再次使它不那么健谈(但仍然处理错误条件)。您不应该将所有信息公开给任意用户......
另见: