Creating a folder when I run file_put_contents()

后端 未结 4 634
情歌与酒
情歌与酒 2020-12-02 18:06

I have uploaded a lot of images from the website, and need to organize files in a better way. Therefore, I decide to create a folder by months.

$month  = dat         


        
4条回答
  •  温柔的废话
    2020-12-02 18:39

    file_put_contents() does not create the directory structure. Only the file.

    You will need to add logic to your script to test if the month directory exists. If not, use mkdir() first.

    if (!is_dir('upload/promotions/' . $month)) {
      // dir doesn't exist, make it
      mkdir('upload/promotions/' . $month);
    }
    
    file_put_contents('upload/promotions/' . $month . '/' . $image, $contents_data);
    

    Update: mkdir() accepts a third parameter of $recursive which will create any missing directory structure. Might be useful if you need to create multiple directories.

    Example with recursive and directory permissions set to 777:

    mkdir('upload/promotions/' . $month, 0777, true);
    

提交回复
热议问题