php訪問文件目錄
① php讀取目錄下所有文件
php中讀取目錄下的文件名的方式確實不少,最簡單的是scandir,具體代碼如下:
$dir="./目錄名/";
$file=scandir($dir);
print_r($file);
② php 讀取目錄和文件
如果不知道子目錄的命名和個數,則需要先遍歷子目錄
opendir,readdir,closedir等即可
或者使用類dir,具體參考參見PHP說明文檔
http://cn.php.net/manual/en/ref.dir.php
下面是一段示例代碼:
$dirhandle = opendir("../prodocs");
while(($file = readdir($dirhandle)) != NULL)
{
if(is_dir("../prodocs/$file"))
{
continue;
}
.........
}
closedir($dirhandle);
讀取文件,根據上面的遍歷結果和指定的文件名即可開始讀取文件內容
具體函數和C標准函數是類似的
fopen,fclose,fseek,fread,fwrite等
這是一段示例代碼(來自PHP文檔):
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>
③ PHP怎麼獲取文件目錄許可權
PHP獲取文件目錄許可權函數fileperms,使用這個函數可以文件或者目錄屬性。
例子程序:
<?php
$perms=fileperms('/etc/passwd');
if(($perms&0xC000)==0xC000){
//Socket
$info='s';
}elseif(($perms&0xA000)==0xA000){
//SymbolicLink
$info='l';
}elseif(($perms&0x8000)==0x8000){
//Regular
$info='-';
}elseif(($perms&0x6000)==0x6000){
//Blockspecial
$info='b';
}elseif(($perms&0x4000)==0x4000){
//Directory
$info='d';
}elseif(($perms&0x2000)==0x2000){
//Characterspecial
$info='c';
}elseif(($perms&0x1000)==0x1000){
//FIFOpipe
$info='p';
}else{
//Unknown
$info='u';
}
④ php網站後台地址是/index.php/admin,它最終訪問的是網頁目錄里的什麼文件
這樣的話應該是框架模式的現實方法 比如zendframework 相當於php下的index.php?admin在一般MVC下意識是調用index.php這個引入文件 然後執行控制層adminController這個類 在zend框架里里的/號相當於=號 如 index.php/user/login/username/admin/passwrod/admin1就是執行USER類下的login方法 用戶名=admin 密碼=admin1。
⑤ 如何用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怎麼寫訪問一個文件目錄下的任何文件都需要經過一個網頁
直接include進來就可以了。在include裡面做校驗
⑦ 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 )
?>
(7)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訪問目錄設置
在apache的
配置文件
裡面配置,apache目錄下面conf文件夾裡面的httpd.conf,打開後,找到DirectoryIndex,在後面加入index.html,保存,重新啟動apache即可。