亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

php與文件操作

添加時間:2014-1-2 17:48:49  添加: 思海網絡 

 一、目錄操作

  首先是從目錄讀取的函數,opendir(),readdir(),closedir(),使用的時候是先打開文件句柄,而后迭代列出:

  <?php

  $base_dir="filelist/";

  $fso=opendir($base_dir);

  echo  $base_dir."<hr/>";

  while($flist=readdir($fso)){

  echo $flist."<br/>";

  }

  closedir($fso)

  ?>

  這是講返回文件目錄下面的文件已經目錄的程序(0文件將返回false).

  有時候需要知道目錄的信息,可以使用dirname($path)和basename($path),分別返回路徑的目錄部分和文件名名稱部分,可用disk_free_space($path)返回查看空間剩余空間.

  創建命令:

  mkdir($path,0777):0777是權限碼,在非window下可用umask()函數設置.

  rmdir($path):將刪除路徑在$path的文件.

  二、文件操作

  ●    新建文件

  首先,確定你所要新建文件所在的目錄權限; 建議設備為777。然后,新建文件的名稱建議使用絕對路徑。

  <?php

  $filename="test.txt";

  $fp=fopen("$filename", "w+"); //打開文件指針,創建文件

  if ( !is_writable($filename) ){

  die("文件:" .$filename. "不可寫,請檢查!");

  }

  //fwrite($filename, "anything you want to write to $filename.";

  fclose($fp);  //關閉指針

  ●    讀文件

  首先是一個文件看能不能讀取(權限問題),或者存在不,我們可以用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 htmlentities($data);

  ?>

  但是file_get_contents函數在較低版本上不支持,可以先創建文件的一個句柄,然后用指針讀取全部:

  還有一種方式,可以讀取二進制的文件:

  $data = implode('', file($file));

  ●   寫文件

  和讀取文件的方式一樣,先看看是不是能寫:

  <?php

  $file = 'dirlist.php';

  if (is_writable($file) == false) {

  die("You have no right to write!");

  }

  ?>

  能寫了的話可以使用file_put_contents函數寫入:

  <?php

  $file = 'dirlist.php';

  if (is_writable($file) == false) {

  die('我是雞毛,我不能');

  }

  $data = '我是可鄙,我想要';

  file_put_contents ($file, $data);

  ?>

  file_put_contents函數在php5中新引進的函數(不知道存在的話用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;

  }

  ●    復制,刪除文件

  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 = copy($file, $newfile);

  if ($result == false) {

  echo '復制記憶ok';

  }

  ?>

  可以使用rename()函數重命名一個文件夾.其他操作都是這幾個函數組合一下就能實現的.

  ●   獲取文件屬性

  我說幾個常見的函數:

  獲取最近修改時間:

  <?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)), -4);

  echo $perms;

  ?>

  filesize()返回文件大小的字節數:

  <?php

  // 輸出類似:somefile.txt: 1024 bytes

  $filename = 'somefile.txt';

  echo $filename . ': ' . filesize($filename) . ' bytes';

  ?>

  獲取文件的全部信息有個返回數組的函數stat()函數:

  <?php

  $file = 'dirlist.php';

  $perms = stat($file);

  var_dump($perms);

  ?>

關鍵字:php、文件操作、目錄讀取

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站