php獲取當前目錄文件
⑴ php中如何獲得伺服器的根目錄
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,再新建php文件,例如:index.php。
⑵ php讀取當前目錄內的html格式文件
<?php
foreach(glob(dirname(__FILE__)."/*.html")as$filename){
$url="http://127.0.0.1/520/".$name;
$aurl="<ahref="".$url."">".$url."</a>";
echo$aurl."<br/>";
}
?>
⑶ PHP如何讀出當前目錄下所有文件
一般來說php中讀取目錄下的文件名的方式確實不少,最簡單的是scandir,具體代碼如下:x0dx0a復制代碼 代碼如下:$dir="./caxa/";x0dx0a$file=scandir($dir);x0dx0aprint_r($file);x0dx0a稍微復雜點的,來自於php手冊:x0dx0a復制代碼 代碼如下:$dir = "/etc/php5/";x0dx0a// Open a known directory, and proceed to read its contentsx0dx0aif (is_dir($dir)) {x0dx0aif ($dh = opendir($dir)) {x0dx0awhile (($file = readdir($dh)) !== false) {x0dx0aecho "filename: $file : filetype: " . filetype($dir . $file) . "\n";x0dx0a} closedir($dh);x0dx0a}x0dx0a}x0dx0a這些都只能讀取當前指定目錄下的文件,對子目錄中的文件則無法讀取。原來自己寫過一個循環刪除所有目錄的一段代碼,需要逐個子目錄刪除所有文件,包括多層。但是只需要讀出文件名,稍微復雜點,網上找到一個能用,原始代碼有錯誤提示,改了一下引用&$data的地方,如下所示:x0dx0a復制代碼 代碼如下:function searchDir($path,&$data){x0dx0aif(is_dir($path)){x0dx0a$dp=dir($path);x0dx0awhile($file=$dp->read()){x0dx0aif($file!='.'&& $file!='..'){x0dx0asearchDir($path.'/'.$file,$data);x0dx0a}x0dx0a}x0dx0a$dp->close();x0dx0a}x0dx0aif(is_file($path)){x0dx0a$data[]=$path;x0dx0a}x0dx0a}x0dx0afunction getDir($dir){x0dx0a$data=array();x0dx0asearchDir($dir,$data);x0dx0areturn $data;x0dx0a}x0dx0aprint_r(getDir('.'));x0dx0a希望本文所述對大家的PHP程序設計有所幫助。
⑷ PHP獲取文件絕對路徑的代碼(上一級目錄)
PHP獲取文件絕對路徑
復制代碼
代碼如下:
<?php
echo
__FILE__
;
//
取得當前文件的絕對地址,結果:D:\www\test.php
echo
dirname(__FILE__);
//
取得當前文件所在的絕對目錄,結果:D:\www\
echo
dirname(dirname(__FILE__));
//取得當前文件的上一層目錄名,結果:D:\
?>
chdir()
函數
定義和用法
chdir()
函數把當前的目錄改變為指定的目錄。
若成功,則該函數返回
true,否則返回
false。
語法
chdir(directory)參數
描述
directory
必需。規定新的當前目錄。
例子
復制代碼
代碼如下:
<?php
//獲得當前目錄
echo
getcwd();
echo
"<br
/>";
//改變為
images
目錄
chdir("images");
echo
"<br
/>";
echo
getcwd();
?>
輸出:
C:\testweb\main
C:\testweb\main\images
⑸ PHP讀取目錄下所有文件內容並顯示
<?php
function printFile($filepath)
{
//substr(string,start,length)函數返回字元串的一部分;start規定在字元串的何處開始 ;length規定要返回的字元串長度。默認是直到字元串的結尾。
//strripos(string,find,start)查找 "php" 在字元串中最後一次出現的位置; find為規定要查找的字元;start可選。規定開始搜索的位置
//讀取文件後綴名
//$filetype = substr ( $filename, strripos ( $filename, "." ) + 1 );
//判斷是不是以txt結尾並且是文件
#if ($filetype == "txt" && is_file ( $filepath . "/" . $filename ))
if ( is_file ( $filepath))
{
$filename=iconv("gb2312","utf-8",$filepath);
echo $filename."內容如下:"."<br/>";
$fp = fopen ( $filepath, "r" );//打開文件
#while (! feof ( $f )) //一直輸出直到文件結尾
$i = 1;
while ($i < 10)
{
$line = fgets ( $fp );
echo $line."<br/>";
$i = $i +1;
}
fclose($fp);
}
}
(此處空一行)
function readFileRecursive($filepath)
{
if (is_dir ( $filepath )) //判斷是不是目錄
{
$dirhandle = opendir ( $filepath );//打開文件夾的句柄
if ($dirhandle)
{
//判斷是不是有子文件或者文件夾
while ( ($filename = readdir ( $dirhandle ))!= false )
{
if ($filename == "." or $filename == "..")
{
//echo "目錄為「.」或「..」"."<br/>";
continue;
}
//判斷是否為目錄,如果為目錄遞歸調用函數,否則直接讀取列印文件
if(is_dir ($filepath . "/" . $filename ))
{
readFileRecursive($filepath . "/" . $filename);
}
else
{
//列印文件
printFile($filepath . "/" . $filename);
echo "<br/>";
}
}
closedir ( $dirhandle );
}
}
else
{
printFile($filepath . "/" . $filename);
return;
}
}
(此處空一行)
header("content-type:text/html;charset=utf-8");
#echo "Hello World"."<br/>";
$filepath = "C:/phpStudy/PHPTutorial/WWW/test/results"; //想要讀取的目錄
readFileRecursive($filepath )
?>
(5)php獲取當前目錄文件擴展閱讀:
php還可以讀取文件夾下所有圖片,方法如下
hostdir=dirname(__FILE__).'/data/upload/admin/20170517/'; //要讀取的文件夾
(此處空一行)
$url = '/data/upload/admin/20170517/'; //圖片所存在的目錄
(此處空一行)
$filesnames = scandir($hostdir); //得到所有的文件
(此處空一行)
// print_r($filesnames);exit;
//獲取也就是掃描文件夾內的文件及文件夾名存入數組 $filesnames
(此處空一行)
$www = 'http://www.***.com/'; //域名
(此處空一行)
foreach ($filesnames as $name) {
$aurl= "<img width='100' height='100' src='".$www.$url.$name."' alt = '".$name."'>"; //圖片
echo $aurl . "<br/>"; //輸出他
⑹ php如何讀取某目錄下的所有同類型文件
PHP使用函數opendir、readdir、closedir來實現文件夾的操作,下面以一個最基本的例子來作為入門介紹:
<?php
//獲取某目錄下所有文件、目錄名(不包括子目錄下文件、目錄名)
$dir='C:/Users/';
$handler=opendir($dir);
while(($filename=readdir($handler))!==false){//務必使用!==,防止目錄下出現類似文件名「0」等情況
if($filename!="."&&$filename!=".."){
$files[]=$filename;
}
}
}
closedir($handler);
//列印所有文件名
foreach($filensas$value){
echo$value."<br/>";
}
?>
上面的代碼顯示c:users文件夾裡面的所有的文件和文件夾,忽略.和..兩個特殊含義的文件夾,程序把所有文件和文件夾名稱掃描保存到數組裡面,然後顯示。
如果你需要對文件進行過濾,例如只處理*.xls文件,可以在過濾.和..的地方添加代碼。例如:
if (substr($filename,-4)=='.xls'){
當你理解了上面的代碼之後,你就能編寫掃描子文件夾、以及子 文件夾裡面文件的方法了。基本思路是使用遞歸,下面我給出一個簡單的例子:
functionget_allfiles($path,&$files){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!="."&&$file!=".."){
get_allfiles($path."/".$file,$files);
}
}
$dp->close();
}
if(is_file($path)){
$files[]=$path;
}
}
functionget_filenamesbydir($dir){
$files=array();
get_allfiles($dir,$files);
return$files;
}
$filenames=get_filenamesbydir("c:/users/");
//列印所有文件名,包括路徑
foreach($filenamesas$value){
echo$value."<br/>";
}
這個例子使用dir類來編寫,實際上用opendir、readdir、closedir來寫也是相同的。
⑺ 如何用php讀取指定文件夾里所有文件並做成鏈接
<?php
//設定報錯等級,如果是開源程序插件不需要設定
error_reporting(E_ERROR | E_PARSE);
//定義欲讀取的目錄路徑,方便演示,本程序讀取的是當前文件所在目錄
$path = '.';
//獲取文件列表數組
$files = ReadFolder($path);
//處理文件列表數組
foreach ($files as $value) {
//顯示文件鏈接
echo '<a href="' . $value . '">' . $value . '</a>';
//為方便查看,輸出一個 <br /> 換行符
echo '<br />';
}
/* 定義自定義函數 */
/**
* 獲取文件列表
*
* @param string $dir 欲讀取的目錄路徑
* @param boolean $mode 0:讀取全部;1:僅讀取文件;2:僅讀取目錄
* @return array
*/
⑻ php中怎樣獲取目錄中文件的個數
$a = count(glob("*",GLOB_ONLYDIR));
$b = count(glob("*"));
echo '當前目錄下文件夾數量:',$a,',文件數量:',$b-$a;
//這樣就可以獲取當前目錄的文件夾和文件數量了
⑼ 怎樣獲取網站根目錄
PHP可以獲取網站的根目錄。
在php程序開發中經常需要獲取當前網站的目錄,我們可以通過常量定義獲取站點根目錄物理路徑,方便在程序中使用。
下面介紹幾種常用的獲取網站根目錄的方法。
php獲取網站根目錄方法一:
<?php
define("WWWROOT",str_ireplace(str_replace("/","\",$_SERVER['PHP_SELF']),'',__FILE__)."\");
echoWWWROOT;
?>
php獲取網站根目錄方法二:
<?php
define('WWW_PATH',str_replace('\','/',realpath(dirname(__FILE__).'/../')));//定義站點目錄
?>
php獲取網站根目錄方法三:
$_SERVER['DOCUMENT_ROOT']//當前運行腳本所在的文檔根目錄。在伺服器配置文件中定義。
⑽ php 獲取當前目錄所有文件夾名 及下級目錄文件夾名 求代碼詳解
把這個文件放到\wamp\www\
這里,然後運行。
?php
if
(isset($_GET['dir'])){
//設置文件目錄
$basedir=$_GET['dir'];
}else{
$basedir
=
'.';
}
checkdir($basedir);
function
checkdir($basedir)
{
if
($dh
=
opendir($basedir))
{
while
(($file
=
readdir($dh))
!==
false)
{
if
($file
!=
'.'
&&
$file
!=
'..'){
if
(!is_dir($basedir."/".$file))
{
echo
"filename:
$basedir/$file
";
}else{
$dirname
=
$basedir."/".$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
?
[以下於為題無關]
嗎蛋,代碼前的空格都沒了,這不是我去掉的哦,是百X把空格全去了,有強迫症表示不能接受啊...........