?php

我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鳳山ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鳳山網(wǎng)站制作公司
//設(shè)定報(bào)錯(cuò)等級(jí),如果是開(kāi)源程序插件不需要設(shè)定
error_reporting(E_ERROR?|?E_PARSE);
//定義欲讀取的目錄路徑,方便演示,本程序讀取的是當(dāng)前文件所在目錄
$path?=?'.';
//獲取文件列表數(shù)組
$files?=?ReadFolder($path);
//處理文件列表數(shù)組
foreach?($files?as?$value)?{
//顯示文件鏈接
echo?'a?href="'?.?$value?.?'"'?.?$value?.?'/a';
//為方便查看,輸出一個(gè)?br?/?換行符
echo?'br?/';
}
/*?定義自定義函數(shù)?*/
/**
*?獲取文件列表
*
*?@param?string? $dir? 欲讀取的目錄路徑
*?@param?boolean?$mode?0:讀取全部;1:僅讀取文件;2:僅讀取目錄
*?@return?array
*/
function?ReadFolder($dir,?$mode?=?0)?{
//如果打開(kāi)目錄句柄失敗,則輸出空數(shù)組
if?(!$handle?=?@opendir($dir))?return?array();
//定義文件列表數(shù)組
$files?=?array();
//遍歷目錄句柄中的條目
while?(false?!==?($file?=?@readdir($handle)))?{
//跳過(guò)本目錄以及上級(jí)目錄
if?('.'?===?$file?||?'..'?===?$file)?continue;
//是否僅讀取目錄
if?($mode?===?2)?{
if?(isDir($dir?.?'/'?.?$file))?$files[]?=?$file;
//是否僅讀取文件
}?elseif?($mode?===?1)?{
if?(isFile($dir?.?'/'?.?$file))?$files[]?=?$file;
//讀取全部
}?else?{
$files[]?=?$file;
}
}
//關(guān)閉打開(kāi)的目錄句柄
@closedir($handle);
//輸出文件列表數(shù)組
return?$files;
}
/**
*?判斷輸入是否為目錄
*
*?@param?string?$dir
*?@return?boolean
*/
function?isDir($dir)?{
return?$dir???is_dir($dir)?:?false;
}
/**
*?判斷輸入是否為文件
*
*?@param?string?$file
*?@return?boolean
*/
function?isFile($file)?{
return?$file???is_file($file)?:?false;
}
?
這個(gè)文件,如果是用php 語(yǔ)法寫(xiě)的,你可以用include();將此文件包含進(jìn)來(lái),
這樣的話,這里文件里面$index="132233123";
你就可以調(diào)用$index變量了
如果你寫(xiě)的只是一個(gè)文件話,建議你用以下方式進(jìn)行判斷
這個(gè)下面是我寫(xiě)的一個(gè)讀取文件的函數(shù),
function Read_Url($file_url){
$str="";
$handle = @fopen($file_url, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$str .= $buffer." ";
}
return $str;
fclose($handle);
}else{
Msg("文件無(wú)法打開(kāi)");
}
}
define(UPLOAD_ROOT,'你的上傳文件夾路徑');
function fake_random_name($string,$key){
#偽代碼 隨便根據(jù)用戶名和上傳時(shí)間生成一個(gè)偽隨機(jī)的文件名作為上傳以后的用戶名
#但解碼的條件是可以根據(jù)文件名判斷出文件所有者的用戶名和上傳時(shí)間
#需要從數(shù)據(jù)庫(kù)取出用戶的密匙 才能進(jìn)行解密 密匙是用戶名的前5個(gè)字符
#具體加密解密的代碼實(shí)現(xiàn) 請(qǐng)參照PHP標(biāo)準(zhǔn)擴(kuò)展庫(kù) Mcrypt擴(kuò)展下的N種方法
return $fake_random_name;
}
if(!is_writbale(UPLOAD_ROOT)){
die('you need chown the dir for your uploading file,make it writable~');
}else{
move_uploaded_file($_FILES['POST過(guò)來(lái)的表單名']['tmp_name'];
/*
* 這個(gè)方法會(huì)自動(dòng)調(diào)用is_upload_file()方法 檢測(cè)是否是合法的http rfc1867協(xié)議上傳的文件
* 當(dāng)然了 你也可以限制是否是你需要的合法文件類(lèi)型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以
*/
$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include進(jìn)來(lái) DSN放到根目錄以外去 保護(hù)連接文件
$sec_key = substr($_SESSION['loginname'],0,5);
#密匙
$file_name = fake_random_name($_FILES['POST過(guò)來(lái)的表單名']['tmp_name'],$sec_key);
#加密后的名字
$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))";/SQL
$dbh-query($q_str);
if($dbh-num_rows()==1) echo "上傳成功,已經(jīng)插入數(shù)據(jù)庫(kù)文件細(xì)節(jié)(加密)";
}
錯(cuò)誤太多了
主要是 $fil="myDirl/name.txt";
myDirl不存在的話, fwrite不能新建文件又新建文件夾
還有,這個(gè)$fil是要相對(duì)于程序文件的相對(duì)路徑
如非windows,還得注意讀寫(xiě)權(quán)限
麻煩!
這樣簡(jiǎn)單
?php
file_put_contents ( 'xxx.txt', '要寫(xiě)入內(nèi)容' );
?
當(dāng)前文章:php指定文件夾中的數(shù)據(jù),php獲取文件列表
網(wǎng)站地址:http://chinadenli.net/article23/dsiopcs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站營(yíng)銷(xiāo)、、域名注冊(cè)、企業(yè)建站、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)