PHP mkdir 返回 1 但目录不存在

我正在使用 mkdir 在 php 中创建目录,它返回 true 但是当我 ssh 进入我的服务器时,我在指定的路径中找不到目录。


我已经检查了服务器中的不同位置。


if (!file_exists('/tmp/tmpfileeee')) {


mkdir('/tmp/tmpfileeee',0755);


echo 'created';


}


收到一只叮咚
浏览 240回答 2
2回答

汪汪一只猫

tmp 在执行的地方是否存在?tmpfileee 是您要创建的文件或目录吗?如果 tmp 不存在并且 tmpfileee 也不存在,我相信您正在尝试在调用中创建 2 个没有递归参数的目录。我的 PHP 肯定生锈了,所以也许其他人可以回答得更好,但这只是我最初的想法。

慕桂英546537

就这样试试: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 existsif (!file_exists('tmp') AND !is_dir('tmp')) {    mkdir('tmp',0755, true);    echo 'folder created';}// 2. Check file and create if not existsif (!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,则必须允许系统默认目录才能成功上传。
打开App,查看更多内容
随时随地看视频慕课网APP