日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

PHP編程中八種常見的文件操作方式

admin
2012年4月4日 0:16 本文熱度 2879
  文件和目錄的操作

  PHP處理本地服務器上的文件和目錄是非常方便的,但有時候會出現(xiàn)權(quán)限和路徑相關的問題

  1.打開文件

  resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

  $handle = fopen(filename,mode)//打開文件,返回代表此文件的資源的句柄

  文件名稱可以使用相對路徑或者絕對路徑也可以使用網(wǎng)絡協(xié)議模式,打開模式具有r\r+\w\w+\a\a+\x\x+\b

  在操作二進制文件時如果沒有指定 'b' 標記,可能會碰到一些奇怪的問題,包括壞掉的圖片文件以及關于 \r\n 字符的奇怪問題。

  為移植性考慮,強烈建議在用 fopen() 打開文件時總是使用 'b' 標記。

  以下是幾種打開文件的方式

  $fp = @fopen('log.txt',"rb");

  $fp = @fopen('../log.txt',"rb");

  $fp = @fopen("http://www.runer.com.cn/default.htm","rb");//還可以使用ftp和ghoper等協(xié)議,必須啟用php.ini文件中的allow_url_fopen選項

  ////////////////////////////代碼部分////////////////////////////////////////

  $filename1 = "userinfo.txt";//目錄下或include_path中存在這個文件

  $filename2 = "test.txt";//目錄下或include_path并不存在這個文件

  $resource1 = fopen($filename1,"rb");

  @$resource2 = fopen($filename2,"rb");//因為目錄中不存在這個文件,并且并未使用或include_path尋找包含文件所在路徑則此操作會報錯,使用錯誤抑制符@可以迫使瀏覽器不輸出錯誤信息

  if($resource1)

  echo "打開文件{$filename1}成功";

  if(!@fopen($filename2,"r"))

  echo "打開文件{$filename2}不成功";

  //////////////////////////////////////////////////////////////////////////

  ---------------------輸出結(jié)果----------------------------------------

  打開文件userinfo.txt成功

  ---------------------------------------------------------------------

  2.使用完畢文件后,要顯式的告訴PHP已經(jīng)使用完文件,讓操作系統(tǒng)確保將文件的所有內(nèi)容正確地從緩沖區(qū)刷新到硬盤

  使用fclose()關閉文件,

  bool fclose ( resource handle )//關閉一個已打開的文件指針
  3.讀取文件,fopen函數(shù)的mode參數(shù)允許讀取,PHP提供了幾個函數(shù)從文件讀取數(shù)據(jù)

  string fgets ( int handle [, int length] )從文件指針中讀取一行,在二進制文件上嘗試fgets會產(chǎn)生不可預測的結(jié)果

  如果不指定長度,默認讀取1K數(shù)據(jù),碰到換行符(包括在返回值中)、EOF 或者已經(jīng)讀取了 length - 1 字節(jié)后停止

  string fgetss ( resource handle [, int length [, string allowable_tags]] )從文件指針中讀取一行并過濾掉 HTML 標記

  fgetc()讀取單個字符

  fread()讀取任意二進制數(shù)據(jù)

  ////////////////////////////代碼部分////////////////////////////////////////

  $handle = fopen ("test.jpg", "rb");

  $c;

  while (!feof($handle)) {

  $contents .= @fread($handle, 8192);//循環(huán)讀取并將其合并為一個大塊文件

  }

  fclose($handle);

  //////////////////////////////////////////////////////////////////////////

  ---------------------輸出結(jié)果----------------------------------------

  ---------------------------------------------------------------------

  4.判斷文件讀取的狀態(tài)

  每個文件句柄都有一個文件指針,或者一個指出下一個操作將在文件中哪里發(fā)生的游標,根據(jù)fopen函數(shù)的mode參數(shù)

  文件指針最初位于文件的開頭(0),或者文件的末尾

  feof()可以判斷文件是否已經(jīng)到末尾(到末尾后函數(shù)返回TRUE)

  filesize()函數(shù)返回文件的大小 5.寫入文件

  fwrite()函數(shù)執(zhí)行文件寫入

  ////////////////////////////代碼部分////////////////////////////////////////

  $filename = 'test.txt';

  $somec;
  // 首先我們要確定文件存在并且可寫。

  if (is_writable($filename)) {

  // 在這個例子里,我們將使用添加模式打開$filename,

  // 因此,文件指針將會在文件的開頭,

  // 那就是當我們使用fwrite()的時候,$somecontent將要寫入的地方。

  if (!$handle = fopen($filename, 'a')) {

  echo "不能打開文件 $filename";

  exit;

  }

  // 將$somecontent寫入到我們打開的文件中。

  if (fwrite($handle, $somecontent) === FALSE) {

  echo "不能寫入到文件 $filename";

  exit;

  }

  echo "成功地將 $somecontent 寫入到文件$filename";

  fclose($handle);

  } else {

  }

  echo "文件 $filename 不可寫";

  //////////////////////////////////////////////////////////////////////////

  ---------------------輸出結(jié)果----------------------------------------

  成功地將 添加這些文字到文件 寫入到文件test.txt

  ---------------------------------------------------------------------

  對于二進制數(shù)據(jù),必須指定第三個參數(shù),它包含寫入到磁盤的數(shù)據(jù)字節(jié)數(shù)

  $result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'));
  6.文件權(quán)限和其他信息

  is_readable()//判斷文件是否可讀

  is_writeable()//判斷文件是否可寫

  is_writable()//判斷文件是否可寫

  fileperms()//判斷文件的權(quán)限(UNIX風格的文件權(quán)限測試函數(shù))

  file_exists()//是否存在這個文件

  fileowner()//判斷文件所屬用戶

  filegroup()//判斷文件所屬組

  7.刪除和重命名文件

  unlink()//刪除文件

  rename()//重命名文件

  8.訪問目錄

  目錄訪問建議使用前向斜線"/",兼容windows和unix系統(tǒng)

  basename()//返回不包括路徑信息的文件名

  dirname()//返回文件名的目錄部分

  realpath()//接受相對路徑,返回文件的絕對路徑

  pathinfo()//提取給定路徑的目錄名,基本文件名和擴展名

  opendir()//打開目錄,返回資源句柄

  readdir()//讀取目錄項

  rewinddir()//將讀取指針返回開頭

  closedir()//關閉讀取句柄

  chdir()//改變當前腳本執(zhí)行期間的當前工作目錄

  mkdir()//創(chuàng)建目錄

  rmdir()刪除目錄

  ////////////////////////////代碼部分////////////////////////////////////////

  //////////////////////////////////////////////////////////////////////////

  ---------------------輸出結(jié)果----------------------------------------

  filename: web : filetype: dir

  filename: study : filetype: dir

該文章在 2012/4/4 0:17:03 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結(jié)合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 久夜色精品国产一区二区三区 | 亚洲高清国产品国语在线观看 | 99国精产品在线视频 | 亚洲国产欧美日韩v一区二区 | 日韩精品免费一区二区三区高清 | 思思热99re热在线精品 | 国产馆精品推荐在线观看 | 男女猛烈xx00免费视频试看 | 文中字幕一区二区三区视频播放 | 亚洲色大成网站www在线观看 | 18欧美乱大 | 亚洲日本欧美日韩高观看 | 日本欧美欧美一级毛卡片 | 亚洲无线码一区国产欧美国日 | 国产精品亚洲αv三区 | 国产不卡福利片在线观看 | 亚洲熟女一区二区三区 | 国产精品永久免费视频观看 | 韩国午夜理伦三级理论在线观看 | 亚洲图片国产 | 国产尤物在线观看 | 国产欧美亚洲精品 | 欧美一级特黄aaa大片在线观看 | 亚洲国产精品第一区 | 日本精品二三区视频在线观看 | 亚瑟视频在线观看 | 三级国产久| www.91| 国内精品日本和韩国免费不卡 | 国语对白露脸在线播放 | 一区二区欧美日韩高清免费 | 三区高清 | 国产婷婷高清在线视频站 | 午夜伦理电影网 | 三级国产在线观看 | 日韩一区二区三区自拍偷拍 | 污污视频软件下载 | 国产福利不卡视频在免费 | 亚洲欧美日本一区二区三区 | 国产性夜夜春夜夜爽30 | 91部国产精品免费观看 |