我想创建一个php脚本来检查某个html文件是否存在。如果它不存在,则创建一个新名称并为其命名。
我已尝试过以下代码,但仍然无效。
$file = file_get_contents(site_url('appraisal/createReport'));
$filename = 'Service_delivery_report_'.date('Y-m-d', time()).'.html';
$filepath = dirname(__DIR__).'/views/sd_reports/'.$filename;
write_file($filepath, $file);
答案 0 :(得分:2)
if(! file_exists ($filename))
{
$fp = fopen($filename, 'w');
fwrite($fp, $file);
fclose($fp);
}
答案 1 :(得分:1)
我不熟悉您使用的名为'site_url'的方法。从快速谷歌搜索看起来它是Word Press中的一种方法。忽略site_url方法,您可能希望使用特定网址进行测试,例如http://ted.com。我已指定is_file而不是file_exists,因为即使您指定的路径是目录,file_exists也将返回true,而如果路径是实际文件,则is_file将仅返回true。尝试使用此代码,将$ site变量设置为站点URL或文件路径。
我还切换了一些代码,在尝试读取$ site的内容之前首先检查文件是否存在。这样,如果文件已经存在,那么您不必不必要地阅读$ site的内容。
$filename = "Service_delivery_report_" . date("Y-m-d",
time()). ".html";
$filepath = realpath("./") . "/views/sd_reports/" . $filename;
if (!is_file($filepath))
{
$site = "http://somesite.com/somepage";
if ($content = file_get_contents($site))
{
file_put_contents($filepath,
$content);
}
else
{
echo "Could not grab the contents of some site";
}
}
答案 2 :(得分:0)
使用file_exists();
<?php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
然后,如果它不存在,请创建一个fopen();
的文件,如下所示:
$handle = fopen($filename, "w");
答案 3 :(得分:0)
试试这个
$file = file_get_contents(site_url('appraisal/createReport'));
$filename = 'Service_delivery_report_'.date('Y-m-d', time()).'.html';
if(! file_exists ($filename))
{
$f = fopen($filename, "w");
fwrite($f, $file);
fclose($f);
}
else
echo "file already exist";