我在Bluehost上安装WordPress时遇到过一些情况,我的WordPress主题遇到了错误,因为上传文件夹wp-content/uploads不存在。
显然Bluehost cPanel WordPress安装程序不会创建这个文件夹,但HostGator可以。
因此,我需要向我的主题添加代码,以检查文件夹并创建它。
我在Bluehost上安装WordPress时遇到过一些情况,我的WordPress主题遇到了错误,因为上传文件夹wp-content/uploads不存在。
显然Bluehost cPanel WordPress安装程序不会创建这个文件夹,但HostGator可以。
因此,我需要向我的主题添加代码,以检查文件夹并创建它。
当前回答
这是没有错误抑制的最新解决方案:
if (!is_dir('path/to/directory')) {
mkdir('path/to/directory');
}
其他回答
对于你关于WordPress的具体问题,使用下面的代码:
if (!is_dir(ABSPATH . 'wp-content/uploads')) wp_mkdir_p(ABSPATH . 'wp-content/uploads');
函数参考:WordPress wp_mkdir_p。ABSPATH是返回WordPress工作目录路径的常量。
还有另一个名为wp_upload_dir()的WordPress函数。它返回上传目录路径,如果不存在,则创建一个文件夹。
$upload_path = wp_upload_dir();
下面的代码一般适用于PHP。
if (!is_dir('path/to/directory')) mkdir('path/to/directory', 0777, true);
函数参考:PHP is_dir()
最好的方法是使用wp_mkdir_p函数。此函数将递归地创建具有正确权限的文件夹。
此外,你可以跳过文件夹存在条件,因为函数返回:
当目录已创建或以前存在时,为 如果不能创建目录,则为False。
例子:
$path = 'path/to/directory';
if ( wp_mkdir_p( $path ) ) {
// Directory exists or was created.
}
更多:https://developer.wordpress.org/reference/functions/wp_mkdir_p/
这是没有错误抑制的最新解决方案:
if (!is_dir('path/to/directory')) {
mkdir('path/to/directory');
}
我们可以使用mkdir创建文件夹。我们也可以为它设置权限。
价值的许可 0不能读、写或执行 1只能执行 2 .只会写字 3 .可以写入和执行 4 .只能阅读 5 .可以读取和执行 6 .会读会写 7能读、写和执行
<?PHP
// Making a directory with the provision
// of all permissions to the owner and
// the owner's user group
mkdir("/documents/post/", 0770, true)
?>
我们应该始终模块化我们的代码,我在下面写了同样的检查…
我们先查一下目录。如果该目录不存在,则创建该目录。
$boolDirPresents = $this->CheckDir($DirectoryName);
if (!$boolDirPresents) {
$boolCreateDirectory = $this->CreateDirectory($DirectoryName);
if ($boolCreateDirectory) {
echo "Created successfully";
}
}
function CheckDir($DirName) {
if (file_exists($DirName)) {
echo "Dir Exists<br>";
return true;
} else {
echo "Dir Not Absent<br>";
return false;
}
}
function CreateDirectory($DirName) {
if (mkdir($DirName, 0777)) {
return true;
} else {
return false;
}
}