2 回答
TA贡献1898条经验 获得超8个赞
tmp 在执行的地方是否存在?tmpfileee 是您要创建的文件或目录吗?如果 tmp 不存在并且 tmpfileee 也不存在,我相信您正在尝试在调用中创建 2 个没有递归参数的目录。
我的 PHP 肯定生锈了,所以也许其他人可以回答得更好,但这只是我最初的想法。
TA贡献1848条经验 获得超10个赞
就这样试试:
if (!file_exists('tmp/tmpfileeee') AND !is_dir('tmp/tmpfileeee')) {
mkdir('tmp/tmpfileeee',0755, true);
echo 'created';
}
mkdir创建一个文件夹而不是 file。
如果要创建文件:
if (!file_exists('tmp/tmpfileeee') AND !is_file('tmp/tmpfileeee')) {
$fp = fopen('tmp/tmpfileeee', 'w');
echo 'created';
}
或最佳方式:
// 1. Check folder and xreate if not exists
if (!file_exists('tmp') AND !is_dir('tmp')) {
mkdir('tmp',0755, true);
echo 'folder created';
}
// 2. Check file and create if not exists
if (!file_exists('tmp/tmpfileeee') AND !is_file('tmp/tmpfileeee')) {
$fp = fopen('tmp/tmpfileeee', 'w');
echo 'file created';
}
更新
在某些服务器上,tmp和temp文件夹受到限制。
检查open_basedir.
PHP手册指出:
如果此处指定的目录不可写,PHP 会回退到系统默认的临时目录。如果打开了 open_basedir,则必须允许系统默认目录才能成功上传。
- 2 回答
- 0 关注
- 239 浏览
添加回答
举报