あなたが使用している「site_url」と呼ばれる方法に慣れていません。簡単なグーグル検索から、ワードプレスの方法のように見えます。site_url メソッドを無視して、たとえばhttp://ted.comなどの特定の URL を使用してテストすることをお勧めします。file_exists ではなく is_file を指定しました。これは、指定したパスがディレクトリであっても 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";
}
}