PHP警告:mkdir():没有这样的文件或目录PHP WordPress

时间:2018-03-17 00:36:42

标签: php wordpress mkdir

下面的代码应该创建一个国家目录(双字母代码),如果它不存在,一个目录基于年龄组,如果它不存在,但每当有人上传一个图像时,它会进入除非我预先创建目录,否则不会显示损坏的图像。我检查了错误日志,它给了我以下警告:

  

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);
  }

2 个答案:

答案 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 ]]] )