⑴ php 如何把word文檔中的內容 導入到資料庫中
代碼如下:
$content = file($haoma); //$temp=file("seo.csv");//連接EXCEL文件,格式為了.csvfor ($i=0;$i <count($content);$i++){$string=explode(",",$content[$i]);//通過循環得到EXCEL文件中每行記錄的值$sql = "insert into {$tablepre}object (area,objectname,objectaddress,state,commend) values ('$string[0]','$string[1]','$string[2]','$state','$commend')";$sqls = mb_convert_encoding($sql,"UTF-8","GBK"); //這里用的是urf8編碼 $rs = $db->query($sqls);
⑵ php include引入文件問題
include函數是引入文件
命名空間解決的是同一腳本下相同函數重名,不同的命名空間命名,相當於處於不同的模塊,解決同一腳本下php函數重名的致命錯誤
1. 你之前include引入的時候你的2個文件的相同函數處於不同命名空間下,就算在同一腳本也不會報錯
2. 看你最後段代碼,你連續定義了2個命名空間,第1個就沒用了,相當於你在namespace Foo\Bar\subnamespace;命名空間下寫了之後的代碼,但是之後的代碼處於namespace Foo\Bar\subnamespace;下但是出現了2個相同名的函數,自然報錯
3. 你要區分命名空間和include就要先懂得他們代表的意思,從你的問題可以看出你不太懂命名空間,建議你網路或者看下php手冊上的命名空間,自己捉摸比別人教理解得更加深刻
4. 建議你把namespace Foo\Bar\subnamespace;寫到const FOO = 2;上面
⑶ 利用php導入excel文件
【步驟1】在前台html頁面進行上傳文件
<formmethod="post"action="php文件"enctype="multipart/form-data">
<h3>導入Excel表:</h3><inputtype="file"name="file_stu"/>
<inputtype="submit"value="導入"/>
</form>
【步驟2】在對應的php文件進行文件的處理
if(!empty($_FILES['file_stu']['name']))
{$tmp_file=$_FILES['file_stu']['tmp_name'];$file_types=explode(".",$_FILES['file_stu']['name']);$file_type=$file_types[count($file_types)-1];
/*判別是不是.xls文件,判別是不是excel文件*/if(strtolower($file_type)!="xls"){$this->error('不是Excel文件,重新上傳');}
/*設置上傳路徑*/$savePath=SITE_PATH.'/public/upfile/Excel/';
/*以時間來命名上傳的文件*/$str=date('Ymdhis');$file_name=$str.".".$file_type;
/*是否上傳成功*/if(!($tmp_file,$savePath.$file_name)){$this->error('上傳失敗');}
/*
*對上傳的Excel數據進行處理生成編程數據,這個函數會在下面第三步的ExcelToArray類中
注意:這里調用執行了第三步類裡面的read函數,把Excel轉化為數組並返回給$res,再進行資料庫寫入
*/$res=Service('ExcelToArray')->read($savePath.$file_name);
/*
重要代碼 解決Thinkphp M、D方法不能調用的問題
如果在thinkphp中遇到M 、D方法失效時就加入下面一句代碼
*/
//spl_autoload_register(array('Think','autoload'));
/*對生成的數組進行資料庫的寫入*/
foreach($resas$k=>$v){if($k!=0){$data['uid']=$v[0];$data['password']=sha1('111111');$data['email']=$v[1];
$data['uname']=$v[3];
$data['institute']=$v[4];$result=M('user')->add($data);if(!$result){$this->error('導入資料庫失敗');}}}
}
【步驟3】ExcelToArrary類,用來引用phpExcel並處理Excel數據的
{
publicfunction__construct(){
/*導入phpExcel核心類注意:你的路徑跟我不一樣就不能直接復制*/include_once('./Excel/PHPExcel.php');}
/**
* 讀取excel $filename 路徑文件名 $encode 返回數據的編碼 默認為utf8
*以下基本都不要修改
*/
publicfunctionread($filename,$encode='utf-8'){
$objReader=PHPExcel_IOFactory::createReader('Excel5');
$objReader->setReadDataOnly(true);
$objPHPExcel=$objReader->load($filename);
$objWorksheet=$objPHPExcel->getActiveSheet();
$highestRow=$objWorksheet->getHighestRow();$highestColumn=$objWorksheet->getHighestColumn();$highestColumnIndex=PHPExcel_Cell::columnIndexFromString($highestColumn);$excelData=array();for($row=1;$row<=$highestRow;$row++){for($col=0;$col<$highestColumnIndex;$col++){$excelData[$row][]=(string)$objWorksheet->getCellByColumnAndRow($col,$row)->getValue();}}return$excelData;
}
}
⑷ PHP中的require引入一個文件,很多都說是在程序執行之前就先讀入了要引入的文件
終於遇到個和我又同樣疑惑的人了。是滴,我也會在看了手冊後發現「require和include除了處理失敗方式不同,其他都完全一樣」,但查閱其他資料後發現,貌似還有一個載入時機的區別。困擾好久,一直不得解。不過我嘗試這么去理解的,偏差地方,還請權威大佬糾正。這兩個函數(准確說是語句),最終的作用是將引入的文件復制粘貼到當前引入行。程序要想正常運行,肯定是所有的需要都准備好,否則肯定會出錯!(注意出錯一詞),我認為正式這里的差異化才驗證了我的理解。require確實實在zend預編譯時,將其引入的文件內容復制到當前,然後執行預編譯和執行。而include在預編譯的被編譯成opcode了,當執行倒這一指令時,會像函數調用一樣進入一個棧的環境,在這里完成對引入文件的內容的復制和編譯,進而執行(這里就是我的理解)。如果這時候出錯了,直接跳出棧,並不影響主流程的進展,這也就是為什麼include出錯只是warning,而由於require是在主流程裡面,所以一旦出錯就是致命的(這里的結果呼應了,我的理解)。so,不當之處,請大佬指點。(純手打。。。。)
⑸ php怎麼包含或引入多個文件或腳本
//引入包含多個腳本的文件夾下所有php腳本,參數$dir是文件夾的相對地址
functionincludeDirScript($dir){
//打開文件夾
$handler=opendir($dir);
//遍歷腳本文件夾下的所有文件
while((($filename=readdir($handler))!==false)){
//如果文件為php腳本文件
if(substr($filename,-4)=='.php'){
//將文件包含進來
require_once($dir.'/'.$filename);
}
}
//關閉文件夾
closedir($handler);
}
⑹ php引用外部文件的問題
require()
require()語句用於指定的文件代替語句本身,就象C語言中的include()語句一樣。如果php配置文件php.ini中的URL fopen
wrappers 是打開的(默認情況下是打開的),就可以使用URL來指定文件的位置從而實現遠程文件的調用。
有一點就是使用require()和include()語句時要特別的注意。那就是在被包含的文件中,處理器是按照html模式來解釋其中的內容的,處理完被包含的內容後又恢復到php模式。所以如果需要在被包含文件中使用php語法,就要使用正確的php開始和結束標記來把這些語句包含進去。
require()和include()知識php中的一種語言特性,而不是函數。它們和函數有許多不同的地方。
include()
include()語句和require()語句有許多相同的地方。凡是在上邊require()語句中沒有明確說明不能適用於include()的部分外,require()語句的功能完全適用於include()語句。下邊介紹require()語句所沒有的include()語句的功能和特點。
include語句只有在被執行時才會讀入要包含的文件。在錯誤處理方便,使用include語句,如果發生包含錯誤,程序將跳過include語句,雖然會顯示錯誤信息但是程序還是會繼續執行!
php處理器會在每次遇到include()語句時,對它進行重新處理,所以可以根據不同情況的,在條件控制語句和循環語句中使用include()來包含不同的文件。
require_once()和include_once()
require_once()和include_once()語句分別對應於require()和include()語句。require_once()和include_once()語句主要用於需要包含多個文件時,可以有效地避免把同一段代碼包含進去而出現函數或變數重復定義的錯誤
⑺ 請問php中如何調用php文件中的內容
tpl使用{php}混編php代碼。
例如
{php}echo "2333";{/php}
同理。
{php}include '.a.php';{/php}
可能是題主想要的結果。
不過需要確認好相對路徑的初始路徑,不一定為TPL所在目錄,也有可能為調用tpl的源php所在的目錄。
PS:WHMCS中使用php標簽需要在安全中,允許模板嵌入php標簽。
⑻ thinkphp 怎麼引用文件
THINKPHP引入PHP文件和原生的是一樣的,沒有區別! 因為TP是基於PHP上的一個框架。
目前有兩種方法,一種是include和require,還有一種是include_once和require_once。根據不同的場合使用不同的代碼。前面一種是局部引入,如果不存在會提示但不會終止;後面一種引入是將被引入界面認為是現有頁面的一個整體,如果不存在會終止程序並報錯。
具體參考代碼如下,include類同,具體參考上方區別:
require './path/file_name.php'; //可以執行多次,例如某個模塊
require_once './path/file_name.php'; //只包含一次,一般為通用函數等
在thinkPHP中模板和css是這樣的輸出和引用的:
首先說模板要放在與模板對應的文件夾中,然後css和js等外部引用的文件要在你模板目錄下新建一個名叫public的文件夾,css和js文件就是放在這個文件夾中的。
注意此時要更改模板(htnl文件)中的引用地址的代碼,例如:
原來你引用css文件是這樣引用的:
<link rel="stylesheet" href="./Css/index.css" />
但是在thinkPHP中你要改成:
<link rel="stylesheet" href="__public__/Css/index.css" />
__public__的意思訪問當前目錄下的public 文件夾,thinkPHP就會訪問public文件夾。
⑼ PHP中如何導入PHP文件
include('1.php'); //受流程式控制制影響
require('1.php'); //無視流程式控制制,一出現就載入。
⑽ php類裡面怎麼引入一個外部文件
require()
require()語句用於指定的文件代替語句本身,就象C語言中的include()語句一樣。如果php配置文件php.ini中的URL fopen
wrappers 是打開的(默認情況下是打開的),就可以使用URL來指定文件的位置從而實現遠程文件的調用。
有一點就是使用require()和include()語句時要特別的注意。那就是在被包含的文件中,處理器是按照html模式來解釋其中的內容的,處理完被包含的內容後又恢復到php模式。所以如果需要在被包含文件中使用php語法,就要使用正確的php開始和結束標記來把這些語句包含進去。
require()和include()知識php中的一種語言特性,而不是函數。它們和函數有許多不同的地方。
include()
include()語句和require()語句有許多相同的地方。凡是在上邊require()語句中沒有明確說明不能適用於include()的部分外,require()語句的功能完全適用於include()語句。下邊介紹require()語句所沒有的include()語句的功能和特點。
include語句只有在被執行時才會讀入要包含的文件。在錯誤處理方便,使用include語句,如果發生包含錯誤,程序將跳過include語句,雖然會顯示錯誤信息但是程序還是會繼續執行!
php處理器會在每次遇到include()語句時,對它進行重新處理,所以可以根據不同情況的,在條件控制語句和循環語句中使用include()來包含不同的文件。
require_once()和include_once()
require_once()和include_once()語句分別對應於require()和include()語句。require_once()和include_once()語句主要用於需要包含多個文件時,可以有效地避免把同一段代碼包含進去而出現函數或變數重復定義的錯誤