使用 move_uploaded_file() 时如何在 PHP 中创建目标(文件夹)?

2022-01-09 00:00:00 file-upload upload php

我想用 PHP 上传文件,我使用 move_uplload_files 将它们复制到我想要的目标文件夹,一切正常:

I want to upload files with PHP and i use move_uplload_files to copy them to the destination folder I want, everything works fine with this :

if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], './uploades/'))
die("success");
else
die("error");

但是当我尝试这个时

$rand =  chr(rand(97, 122)). chr(rand(97, 122)). chr(rand(97, 122));
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], './uploades/'.$rand))
die("success");
else
die("error");

我会收到错误,看起来 move_uploaded_files 无法创建文件夹.我该怎么做?

I will get error, and it looks like move_uploaded_files can not create folders. How can I do this ?

基本上我正在寻找一种方法来做到这一点,如 file_put_contents() 如果不存在则创建路径.

Basically I am looking for a way to do it like file_put_contents() that creates the path if not exist.

推荐答案

使用mkdir().

如果您需要创建多个文件夹,例如通过传递 a/b/c,请将第三个参数设置为 TRUE.

If you need to make multiple folders, such as by passing a/b/c, set the third argument to TRUE.

你可以测试它是否已经存在,如果不存在则添加......

You can test if it is already there, and add if not like so....

$path = 'abc';

if ( ! is_dir($path)) {
    mkdir($path);
}

相关文章