0

我想创建一个 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);
4

4 回答 4

2
if(! file_exists ($filename))
  {
  $fp = fopen($filename, 'w');
  fwrite($fp,  $file);
  fclose($fp);
  }
于 2013-10-16T11:56:22.433 回答
1

我不熟悉您使用的称为“site_url”的方法。从快速的谷歌搜索来看,它看起来像是 Word Press 中的一种方法。忽略 site_url 方法,您可能希望使用特定的 url 进行测试,例如http://ted.com。我指定了 is_file 而不是 file_exists,因为即使您指定的路径是目录,file_exists 也会返回 true,而 is_file 只有在路径是实际文件时才会返回 true。试试这个代码,将 $site 变量设置为站点 url 或文件路径。

我还切换了一些代码,先检查文件是否存在,然后再尝试读取 $site.xml 的内容。这样,如果文件已经存在,您就不需要读取 $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";
    }
}
于 2013-10-16T12:54:51.907 回答
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");
于 2013-10-16T11:57:21.127 回答
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";
于 2013-10-16T11:57:59.707 回答