PHP檢查文件是否存在,不存在自動創(chuàng)建及讀取文件內(nèi)容操作示例
本文實例講述了PHP檢查文件是否存在,不存在自動創(chuàng)建及讀取文件內(nèi)容操作。分享給大家供大家參考,具體如下:
<?php
$filename = 'a/b.html';
$writetext = 'ssssssssssss';
$result = jwritefile($filename, $writetext);
var_dump($result);die;
function jwritefile($filename, $writetext) {
$position = strrpos($filename,'/');
$path = substr($filename,0,$position);
if(!file_exists($path)){
mkdir($path,0777,true);
}
$updatetime = filemtime($filename);
$difftime = time()-$updatetime;
if($difftime > 3600){//時間大于一個小時
if (@file_put_contents($filename, $writetext, LOCK_EX)) {
return 1;
}else {
return -1;
}
}else{
return 0;//時間小于1一個鐘頭,不用生成
}
}
?>
<?php
$filename = $path.'log/'.gmdate('Ym').'/'.gmdate('j').'.log';//文件地址
$position = strrpos($filename,'/');
$path = substr($filename,0,$position);
if(!file_exists($path)){
mkdir($path,0777,true);//創(chuàng)建目錄
}
$fp=@fopen($filename,"a+");
$content = $log."-".date('Y-m-d H:i:s')."\r\n";
@fputs($fp,$content);
@fclose($fp);
?>
讀取文件內(nèi)容
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
附加說明:
| mode | 說明 |
|---|---|
| 'r' | 只讀方式打開,將文件指針指向文件頭。 |
| 'r+' | 讀寫方式打開,將文件指針指向文件頭。 |
| 'w' | 寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。 |
| 'w+' | 讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。 |
| 'a' | 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。 |
| 'a+' | 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。 |
| 'x' | 創(chuàng)建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建之。這和給 底層的open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標(biāo)記是等價的。此選項被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件。 |
| 'x+' | 創(chuàng)建并以讀寫方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建之。這和給 底層的open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標(biāo)記是等價的。此選項被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件 |
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP目錄操作技巧匯總》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP命名空間namespace定義及導(dǎo)入use用法詳解
這篇文章主要介紹了PHP命名空間namespace定義及導(dǎo)入use用法,結(jié)合實例形式詳細(xì)分析了php中命名空間namespace的功能、定義及導(dǎo)入use相關(guān)使用方法與操作技巧,需要的朋友可以參考下2018-03-03
php 函數(shù)中靜態(tài)變量使用的問題實例分析
這篇文章主要介紹了php 函數(shù)中靜態(tài)變量使用的問題,結(jié)合實例形式分析了php 函數(shù)中靜態(tài)變量使用過程中遇到的問題,以及相關(guān)操作注意事項,需要的朋友可以參考下2020-03-03
php性能優(yōu)化分析工具XDebug 大型網(wǎng)站調(diào)試工具
大型網(wǎng)站調(diào)試工具之一(php性能優(yōu)化分析工具XDebug) ,開發(fā)php的朋友可以參考下。有助于解決php代碼的多種問題。2011-05-05
PHP實現(xiàn)機器學(xué)習(xí)之樸素貝葉斯算法詳解
這篇文章主要介紹了PHP實現(xiàn)機器學(xué)習(xí)之樸素貝葉斯算法,結(jié)合實例形式詳細(xì)分析了樸素貝葉斯算法的概念、原理及php實現(xiàn)技巧,需要的朋友可以參考下2017-12-12

