㈠ 關於PHP文件操作: php保存數據到文本文件,怎麼弄
把你要保存的數據序列化一下,保碧慧存到文本中,如果需要修改,則從文本中取出,在反遲局序列化悔旦答化,在修改後,在序列化一下,保存到文本中。
文本的讀寫 參考fopen 等函數
㈡ 關於PHP文件夾操作
if ($dh = opendir($dir)) 前面加個判斷,如果是. 或者..就跳過
if($dir=='.'||$dir=='..'){
continue;
}
㈢ PHP中如何把一個文件夾下的一個文件移動到另一個文件夾下
可以使用()函數進行。
參考代碼為:
<?php
$file='userfile/a/abc.txt'; //舊目錄
if (file_exists($file)) {
$newFile='userfile/b/newabc.txt'; //新目錄
($file,$newFile); //拷貝到新目錄
unlink($file); //刪除舊目錄下的文件
}
其中,() 函數拷貝文件,語法:(source,destination)。將文件從 source 拷貝到 destination。如果成功則返回 TRUE,否則返回 FALSE。
(3)php中文件操作擴展閱讀:
使用說明:
1、提示:如果要移動文件的話,使用 rename() 函數。用法:bool rename(string $oldname, string $newname),其中,$oldname為源文件的路徑名,$newname為移動後的文件路徑。如果二者表示的路徑在同一目錄下,則函數實際執行的是重命名,否則執行的是文件移動。
2、注釋:從 PHP 4.3.0 開始,如果啟用了 "fopen wrappers" 的話,source 和 destination 都可以是 URL。更多信息見 fopen()。如果 destination 是一個 URL,則如果封裝協議不支持覆蓋已有的文件時拷貝操作會失敗。
3、重要事項:如果目標文件已存在,將會被覆蓋。
㈣ php讀取文件操作
在file讀文件之前,無需使用fopen打開。你的加上索引不知道是什麼意思,是不是把文件轉換為二維數組呀,你試試看下面的代碼:
$data = file('date.txt');//讀取全部內容;
foreach ($data as $i=>$line) $data[$i]=explode(chr(8),$data[$i]);
echo '<pre>';
print_r($data);
echo '</pre>';
㈤ PHP5教程之文件操作
一 引論
在任何計算機設備中 文件是都是必須的對象 而在web編程中 文件的操作一直是web程序員的頭疼的地方 而 文件的操作在cms系統中這是必須的 非常有用的 我們經常遇到生成文件目錄 文件(夾)編輯等操作 現在我把php中的這些函數做一詳細總結並實例示範如何使用 關於對應的函數詳細介紹 請查閱php手冊 此處只總結重點 和需要注意的地方 (這在php手冊是沒有的 )( lian )
二 目錄操作
首先介紹的是一個從目錄讀取的函數 opendir() readdir() closedir() 使用的時候是先打開文件句柄 而後迭代列出:
<?php $base_dir = filelist/ ; $fso = opendir($base_dir); echo $base_dir <hr/> ; while($flist=readdir($fso)){ echo $flist <br/> ; } closedir($fso) ?>
這是講返迴文件目錄下面的文件已經目錄的程序( 文件將返回false)
有時候需要知道目錄的信息 可以使用dirname($path)和basename($path) 分別返迴路徑的目錄部分和文件名名稱部分 可用disk_free_space($path)返回看空間空餘空間
創建命令:
mkdir($path )
是許可權碼 在非window下可用umask()函數設神頃置
rmdir($path)
將刪除路徑在$path的文件
dir directory 類也是操作文件目錄的重要類 有 個方法 read rewind close 這是一個仿面向對象的類 它先使用的是打開文件句柄 然後用指針的方式讀取的 這里看php手冊:
<?php$d = dir( /etc/php );echo Handle: $d >handle /n ;echo Path: $d >path /n ;while (false !== ($entry = $d >read())) { echo $entry /n ;}$d >close();?>
輸出:
Handle: Resource id # Path: /etc/php apachecgicli
文件的屬性也非常重要 文件屬性包括創建時間 最後修改時間 所有者 文件組 類型 大小等
下面我們重點談文件操作
三 文件操作
A 讀文件
首先是一個文件看能不能讀取(許可權問題) 或者存在不 我們可以用is_readable函數獲取信息
<?php$file = dirlist php ;if (is_readable($file) == false) { die( 文件不存在或者無法讀取 );} else { echo 存在 ;}?>
判斷文件存在的函返正數還有file_exists(下面演示) 但是這個顯然無is_readable全面 當一個文件存在的話可以用
<?php$file = filelist php ;if (file_exists($file) == false) { die( 文件不存在 );}$data = file_get_contents($file);echo entities($data);?>
但是file_get_contents函數在較低版本上不支持 可以先創建文件的一個句柄 然後用指針讀取全部:
$fso = fopen($cacheFile r );漏瞎悔 $data = fread($fso filesize($cacheFile)); fclose($fso);
還有一種方式 可以讀取二進制的文件:
$data = implode( file($file));
B 寫文件
和讀取文件的方式一樣 先看看是不是能寫:
<?php$file = dirlist php ;if (is_writable($file) == false) { die( 我是雞毛 我不能 );}?>
能寫了的話可以使用file_put_contents函數寫入:
<?php $file = dirlist php ; if (is_writable($file) == false) { die( 我是雞毛 我不能 ); } $data = 我是可鄙 我想要 ; file_put_contents ($file $data); ?>
file_put_contents函數在php 中新引進的函數(不知道存在的話用function_exists函數先判斷一下)低版本的php無法使用 可以使用如下方式:
$f = fopen($file w ); fwrite($f $data); fclose($f);
替換之
寫文件的時候有時候需要鎖定 然後寫:
function cache_page($pageurl $pagedata){ if(!$fso=fopen($pageurl w )){ $this >warns( 無法打開緩存文件 );//trigger_error return false; } if(!flock($fso LOCK_EX)){//LOCK_NB 排它型鎖定 $this >warns( 無法鎖定緩存文件 );//trigger_error return false; } if(!fwrite($fso $pagedata)){//寫入位元組流 serialize寫入其他格式 $this >warns( 無法寫入緩存文件 );//trigger_error return false; } flock($fso LOCK_UN);//釋放鎖定 fclose($fso); return true; }
C 復制 刪除文件
php刪除文件非常easy 用unlink函數簡單操作:
<?php $file = dirlist php ; $result = @unlink ($file); if ($result == false) { echo 蚊子趕走了 ; } else { echo 無法趕走 ; } ?>
即可
復制文件也很容易:
<?php $file = yang txt ; $newfile = ji txt ; # 這個文件父文件夾必須能寫 if (file_exists($file) == false) { die ( 小樣沒上線 無法復制 ); } $result = ($file $newfile); if ($result == false) { echo 復制記憶ok ; } ?>
可以使用rename()函數重命名一個文件夾 其他操作都是這幾個函數組合一下就能實現的
D 獲取文件屬性
我說幾個常見的函數:
獲取最近修改時間:
<?php $file = test txt ; echo date( r filemtime($file)); ?>
返回的說unix的時間戳 這在緩存技術常用
相關的還有獲取上次被訪問的時間fileatime() filectime()當文件的許可權 所有者 所有組或其它 inode 中的元數據被更新時間 fileowner()函數返迴文件所有者
$owner = posix_getpwuid(fileowner($file));
(非window系統) ileperms()獲取文件的許可權
<?php$file = dirlist php ;$perms = substr(sprintf( %o fileperms($file)) );echo $perms;?>
filesize()返迴文件大小的位元組數:
<?php
// 輸出類似 somefile txt: bytes
$filename = somefile txt ; echo $filename : filesize($filename) bytes ;
?>
獲取文件的全部信息有個返回數組的函數stat()函數:
<?php $file = dirlist php ; $perms = stat($file); var_mp($perms); ?>
那個鍵對應什麼可以查閱詳細資料 此處不再展開
四 結束語
lishixin/Article/program/PHP/201311/21262
㈥ php文件操作之小型留言本實例
本文實例講述了php文件操作之小型留言本。分享給大家供大家參考。具虛態體如下:
Index.php文件如下:
<鉛鋒?php
$path
=
"DB/";
//定義路徑
$dr
=
opendir($path);
//打開目錄
while($filen
=
readdir($dr))
//循環讀取目錄中的文件
{
if($filen
!=
"."
and
$filen
!=
"..")
{
$fs
=
fopen($path.$filen,
"r");
echo
"<B>標題:</B>".fgets($fs)."<BR>";
echo
"<B>作者:</B>".fgets($fs)."<BR>";
echo
"<B>內容:</B><PRE>".fread($fs,
filesize($path.$filen))."</PRE>";
echo
"<HR>";
fclose($fs);
}
}
closedir($dr)
//關閉目錄
?>
Post.php文件如下:
<?php
$path
=
"DB/";
$filename
=
"S".date("YmdHis").".dat";
$fp
=
fopen($path.$filename,
"w");
fwrite($fp,
$_POST["title"]."/n");
fwrite($fp,
$_POST["author"]."/n");
fwrite($fp,
$_POST["content"]."/n");
fclose($fp);
echo
"留言發表成功!";
echo
"<a
href="Index.php"
mce_href="Index.php">返回首頁</a>";
?>
<!DOCTYPE
HTML
PUBLIC
"-//W3C//DTD
HTML
4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>發表新的留言</title>
<meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312">
</head>
<body>
<H1><p
align="center">發表新的留言</p></H1>
<form
name="form1"
method="post"
action="Post.php">
<table
width="500"
border="0"
align="center"
cellpadding="0"
cellspacing="0">
<tr>
<td>標題</td>
<td><input
name="title"
type="text"
id="title"
size="50"></td>
</槐譽晌tr>
<tr>
<td>作者</td>
<td><input
name="author"
type="text"
id="author"
size="20"></td>
</tr>
<tr>
<td>內容</td>
<td><textarea
name="content"
cols="50"
rows="10"
id="content"></textarea></td>
</tr>
</table>
<p
align="center">
<input
type="submit"
value="Submit">
<input
type="reset"
value="Reset">
</p>
</form>
</body>
</html>
希望本文所述對大家的php程序設計有所幫助。