2013-10-16 120 views
0

我想創建一個php腳本來檢查某個html文件是否存在。如果它不存在,則創建一個新名稱併爲其命名。用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); 
+1

什麼是'write_file'?試試['file_put_contents'](http://php.net/manual/en/function.file-put-contents.php) – keithhatfield

回答

2
if(! file_exists ($filename)) 
    { 
    $fp = fopen($filename, 'w'); 
    fwrite($fp, $file); 
    fclose($fp); 
    } 
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"); 
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"; 
1

我不熟悉你使用的方法'site_url'。從快速谷歌搜索它看起來像它是Word Press中的一種方法。忽略site_url方法,您可能想要使用特定的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"; 
    } 
}