Php 创建一个文件(如果不存在)

2022-08-30 15:10:15

我尝试创建文件并动态写入内容。下面是我的代码。

$sites = realpath(dirname(__FILE__)).'/';
$newfile = $sites.$filnme_epub.".js";

if (file_exists($newfile)) {
    $fh = fopen($newfile, 'a');
    fwrite($fh, 'd');
} else {
    echo "sfaf";
    $fh = fopen($newfile, 'wb');
    fwrite($fh, 'd');
}

fclose($fh);
chmod($newfile, 0777);

// echo (is_writable($filnme_epub.".js")) ? 'writable' : 'not writable';
echo (is_readable($filnme_epub.".js")) ? 'readable' : 'not readable';
die;

但是,它不会创建文件。

请分享您的答案和帮助。谢谢!


答案 1

尝试使用:

$fh = fopen($newfile, 'w') or die("Can't create file");

用于测试是否可以在那里创建文件。

如果无法创建文件,则可能是因为 Web 服务器用户无法写入该目录(通常是“www”或类似名称)。

对要创建文件的文件夹执行 a,然后重试。chmod 777 folder

它有效吗?


答案 2

使用函数is_file检查文件是否存在。

如果该文件不存在,此示例将创建一个新文件并添加一些内容:

<?php

$file = 'test.txt';

if(!is_file($file)){
    $contents = 'This is a test!';           // Some simple example content.
    file_put_contents($file, $contents);     // Save our content to the file.
}

?>

推荐