我正在尝试在服务器中创建一个文件夹。我写了以下代码
function CreateErrorLog($IntegrationId, $errorStr){
if (!is_dir(PUBLIC_PATH.'/errors/'.$IntegrationId)) {
echo 'not present<br/><br/>';
try{
mkdir(PUBLIC_PATH.'/errors/'.$IntegrationId, 0777);
}catch(Exception $e){
echo '<br/><br/> exception----'.$e.'<br/><br/>';
print_r($e);
}
}else{
echo 'present<br/><br/>';
}
}
我输出“不存在”但我看不到在“errors”文件夹下以$ IntegrationId名称创建的目录。 这是在localhost中工作。移动到远程服务器后,我遇到了问题。有什么问题?
答案 0 :(得分:0)
问题可能是errors
文件夹在服务器
write
权限
如果没有许可,则不会通过任何例外。
将mkdir放在if()条件中。所以你会从返回值中理解。
并将ini_set('display_errors', 1);
置于您的代码之上。
答案 1 :(得分:0)
首先检查你的路径权限是否可写。如果这样,你必须提到绝对路径而不是PUBLIC_PATH。你可以使用函数'echo getcwd()'获得绝对路径创建一个php文件。这将显示绝对路径。这选择而不是PUBLIC_PATH。