PHP创建和删除目录

可以使用 PHP mkdir 函数创建目录,使用 rmdir 删除目录。
下面的代码创建一个具有 774 权限的目录:

mkdir("/path/to/my/dir", 0774); //Creates the directory

默认情况下,mkdir 将创建具有 777 权限的目录,该目录赋予服务器上所有用户的完全访问权限(读取、写入和执行)。
注意第二个参数中的前导零(chmod 不需要)。

我们可能需要类似 774 的内容,以防止目录过于开放。

此外,在确定完整路径时可以使用 $_SERVER["DOCUMENT_ROOT"] 变量。

要删除目录,只需使用 rmdir:

rmdir('dir'); //Removes a directory
PHP 创建和删除文件和目录

在 PHP 中创建文件和文件夹时,我们应该首先确保 Web 服务器具有所需的权限。
在 Linux 中,对于我们要写入的目录,权限应设置为 774.

在 PHP 中,使用 fopen、fwrite 和 fclose 函数的组合来编写新文件。
但是,我们也可以使用 file_put_contents,它只是 fopen、fwrite 和 fclose 的包装器。
在本教程中,我们将重点介绍第一个提到的功能。

例子:

mkdir("/path/to/my/dir", 0774); //Create Directory
rmdir('dir'); //Remove Directory
unlink('MyFile.html'); Delete file
rename("/folder/old-file-name.ext", "/folder/new-file-name.ext"); //Rename file or directory

//Write to file. If it does not exist attempt to create it.
$file = fopen($pathtofile, "w");
if((fwrite($file, $content) == false) && (!file_exists($pathtofile))) {
  fclose($file);
  echo 'File not written, check permissions!';
} else {
  fclose($file);
  echo 'Success!';
}

PHP重命名文件或者目录

重命名文件或者目录是使用重命名功能完成的。
例如,要重命名当前工作目录中的文件——而不将其移动到另一个目录——你应该像下面的例子中演示的那样:

rename("/folder/old-file-name.ext", "/folder/new-file-name.ext");

请记住,重命名功能在工作目录中运行。
上面的示例使用根相对路径来访问、重命名和/或者移动文件。

PHP创建、写入和删除文件

函数名称有点误导,因为它们表明文件需要存在才能写入。
不是这种情况。
但是,它实际上取决于 fopen 的模式参数。
在这个脚本中,我们使用了“w”,因此,如果文件不存在,它将自动创建。

创建文件的脚本如下所示:

$pathtofile = $_SERVER["DOCUMENT_ROOT"] . 'files/'; //Should result in something like: /var/www/MySiteName/files/
$content = 'Blah blah';
$file = fopen($pathtofile, "w");
if((fwrite($file, $content) == false) && (!file_exists($pathtofile))) {
  fclose($file);
  echo 'File not written, check permissions!';
} else {
  fclose($file);
  echo 'Success!';
}

上面脚本中的 if 检查检查文件创建是否成功。
由于 fwrite 返回值的问题,我们还必须在创建文件后检查文件是否存在。
这是通过 file_exists 函数完成的。
我们需要两个检查,因为如果文件在尝试创建时已经存在,并且由于某种原因失败,我们可能想知道它。

fwrite 的问题在于,如果 $content 为空,它会返回“0”,当使用 if(fwrite(...)) 检查时,它也会验证为 false,并且由于我们可能希望能够创建空文件,因此我们将需要用 file_exists 来解决这个问题。

fwrite 失败可能有其他原因,但很可能是因为运行服务器的用户没有必要的权限。

mode 参数——fopen 函数的“w”参数——用于控制打开文件的模式。
在这种情况下,文件被打开用于写入。
如果文件不存在,它将被创建。
最后,如果它已经存在,它将被覆盖。
我们可以在 fopen 上的 PHP 参考中阅读有关不同模式的更多信息。

最后,fopen 接受的本地文件路径是服务器端的完整路径,而不是相对路径。
我们可以使用 $_SERVER["DOCUMENT_ROOT"] 获取脚本所在目录的完整路径。

删除文件是通过 unlink 完成的:

unlink('MyFile.html');
日期:2020-06-02 22:15:44 来源:oir作者:oir