下面的代码应该创建一个国家目录(双字母代码),如果它不存在,一个目录基于年龄组,如果它不存在,但每当有人上传一个图像时,它会进入除非我预先创建目录,否则不会显示损坏的图像。我检查了错误日志,它给了我以下警告:
PHP警告:mkdir():第64行/home/wppspeacepals/public_html/insertParentStudent.php中没有此类文件或目录
PHP警告:mkdir():第70行/home/wppspeacepals/public_html/insertParentStudent.php中没有此类文件或目录
$user_path = $_SERVER['DOCUMENT_ROOT']."/wp-content/themes/wellness-
pro/artis-images/".$get_Country->country."/".$age_group_label;
if(!is_dir($user_path)){
mkdir($user_path, 0777);
}
$user_id = $get_Country->prefix_char.$get_Country->registration_number;
$user_path = $_SERVER['DOCUMENT_ROOT']."/wp-content/themes/wellness-pro/artis-images/".$get_Country->country."/".$age_group_label."/".$user_id;
if(!is_dir($user_path)){
mkdir($user_path, 0777);
}
答案 0 :(得分:0)
消息很清楚。
1)请检查您是否已创建此目录
/wp-content/themes/wellness-pro/artist-images/
2)如果尚未创建 $ get_Country->国家/地区,您将收到此错误消息。尝试询问 / wp-content /"a / health-pro / artis-images /".$ get_Country-> country 是否包含 is_dir()。如果是然后使用 $ age_group_label 创建最后一个文件夹。如果没有,则必须首先创建国家/地区文件夹,然后创建年龄组。
基本上你不能通过
创建文件夹两个mkdir /home/me/one/two
如果您没有创建一个文件夹。 因此,您的代码应该像这样验证:
$user_path_country = $_SERVER['DOCUMENT_ROOT']."/wp-
content/themes/wellness-
pro/artis-images/".$get_Country->country;
$user_path_age = $user_path_country."/".$age_group_label;
if (!is_dir($user_path_country)):
mkdir($user_path_country, 0777);
else:
mkdir($user_path_age, 0777);
endif;
答案 1 :(得分:0)
除最后一个元素(您的$age_group_label
值)之外的整个路径是否已存在?即,在您尝试创建.../artist-images/atlantis/
.../artist-images/atlantis/ancient
已存在
为了确保您始终可以使用mkdir()
的递归选项 - 它等同于使用* nix -p
上的mkdir
选项。
mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = FALSE [, resource $context ]]] )