php載入文件
不知道你說的命名空間是不是use之後直接載入的。
命名空間在你這個問題上是最簡單,最直接的解決方案。
你已經實現這個了,改下就可以了
functionautoload($dir,$file){
include_once$dir.'/'.$file.'.class.php';
}
functionload_file($dir,$file){
spl_autoload_register('autoload');
}
2. PHP中如何導入PHP文件
include('1.php'); //受流程式控制制影響
require('1.php'); //無視流程式控制制,一出現就載入。
3. 如何設計一個php自動載入類
在php中,自動載入一般都是通過魔術方法__autoload來實現的,在程序中,當需要一個類的定義文件時(如實例化一個對象,集成自一個類),如找不到類定義文件時,就會自動觸發__autoload方法,所以我們可以在該方法中編寫代碼完成類的載入。要編寫代碼實現類的自動載入,很重要的兩點一是文件結構規劃,二是類的命名,尤其是命名,從命名中要體現出該類的所屬文件,比如PersonController,一看就知道是一個控制器,UserModel,一看便知是模型,這樣就可以到對應的目錄下去載入該類。針對你所列出的文件結構和文件命名,顯然不符合上述規則,所以想通過__autoload實現自動載入有難度。
4. php載入不了更多版本
方法一(已通過測試)已經內置有php_curl.dll,在ext目錄下,此DLL用於支持SSL和zlib.
1.在php.ini中找到有extension=php_curl.dll, 去掉前面的注釋.
2.設置extension_dir=c:\php\ext, 刷新PHP頁面時報錯, 說找不到模塊php_curl.dll.
拷貝php_curl.dll 到windows\system32,還是同樣的錯.
3.在網上找了一下,需要將:
libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll
都拷貝到system32目錄下,重啟apache即可.
方法二也可試試:
1.這個php_curl.dll就依賴兩個文件(ssleay32.dll和libeay32.dll)如果這兩個文件沒有配置對那麼就會提示找不到此動態庫,這兩個文件在php的目錄下面。
2.解決辦法:在Apache的httpd.conf的文件中配置一下:
1
2
LoadFile "D:/webserver/php/ssleay32.dll"
LoadFile "D:/webserver/php/libeay32.dll"
3.然後重啟一下apache服務就ok了。
在修改php.ini的時候會出現一些小問題 導致擴展無法載入
比如php.ini中明明開啟了php_mysql.dll但是 運行項目的時候卻報錯說不支持php_mysql 這種情況一定是系統找不到php_mysql.dll這個文件
首先檢查 php.ini 中的extension_dir的路徑是否正確 注意斜杠方向
系統變數中要加D:\php5.5.38 和D:\php5.5.38 \ext
然後檢查apache中的配置
如果配置都是正確 但還是報錯,而且下圖的loaded configuration file沒有顯示
運行phpinfo.php 如圖php無法載入擴展的解決方法
表示系統可以載入php.ini這個文件,如果沒有則表示該文件沒有載入
最後有個細節要注意 php.ini是根據php.ini-development這個文件復制修改的 如果在刪除development的時候留有空格 則php.ini是無法載入的
比如ini後面有空格 則這個文件就無法載入
5. php載入ts文件
php以ISAPI方式載入的時候選擇ts文件。
不會出現數據不一致或者數據污染php以ISAPI方式載入的時候選擇這個版本。
多線程訪問時,採用了加鎖機制,當一個線程訪問該類的某個數據時,進行保護,其他線程不能進行訪問直到該線程讀取完,其他線程才可使用。
6. PHP新手,如何正確讓伺服器載入PHP文件(安裝了MAMP)
1 打開【系統偏好設置】,選擇【共享】
確保【互聯網共享】處於關閉狀態。
只要系統中從未安裝過 MySQL,就可以繼續。
2下載 MAMP 的最新版。
3下載完成後安裝。
4 打開【應用程序】,找到【MAMP】文件夾,
雙擊打開文件夾,打開【MAMP】程序
5 彈出警告窗口,
選擇【Launch MAMP】
6 瀏覽器會啟動並顯示一個歡迎頁面,
你會發現瀏覽器地址欄中的 URL 以【http://localhost:8888】開頭。
【localhost】 後的 【:8888】 字元串
表明 Web 伺服器通過非標准埠 8888 監聽請求。
7 打開 MAMP 控制面板,點擊【Star Servers】
Apache Server 和 MySQL Server 旁的綠燈表明兩台伺服器都在運行。
單擊【Preferences】,從打開的面板頂部選擇【Ports】。
面板顯示 Apache 和 MySQL 分別運行在埠 8888 和 8889 上。
8 單擊【Set Web & MySQL Ports to 80 & 3306】。
數字更改為標准埠:Apache 為 80,MySQL 為 3306。
這樣,你就可以更輕松地使用 Dreamweaver 進行開發。
9 單擊【OK】,根據提示鍵入你的 Mac 密碼。
MAMP 將停止並重新啟動兩台伺服器。
10 當兩個燈再次變綠時,單擊【Open Start Page】。
此時,MAMP 歡迎頁面將重新載入瀏覽器中。
這次,URL 中【localhost】後已沒有了【 :8888】,也沒有【:80】
因為埠 80 是默認值,添加【 :80】 沒有必要,所以不添加它也沒關系。
使用非標准埠時,只需要在冒號後跟數字即可。
11 單擊 MAMP 菜單中的【phpinfo】鏈接。
你會看到一個顯示 PHP 配置信息的頁面:
12 至此,你已成功安裝 PHP、MySQL 和 phpMyAdmin。
END
注意事項
注意:【步驟9】是最可能出錯的地方。如果有任何其他程序正在使用埠 80,Apache 將無法重新啟動。如果是這樣,請確保【步驟1】中的共享處於關閉狀態。另一個可能性是 Skype 正在使用埠 80。可在【Skype Preferences】的【Advanced】部分中更改埠-嘗試將 42815 作為傳入埠。
7. 如何在PHP文件中載入另一個網站里的PHP文件
你好,我是hicuizd,請問你是指在你、本地載入其他網站的網頁嗎?如果是這樣的話是可以的,不過只能得到php編譯之後的HTML腳本語言,如包含網路頁面: <?$text = file_get_contents(" http://www..com "); echo $text; ?> 如果說你是指在本地包含本地另外一個網頁文件叫read.php,那麼這樣是可以的哦,可以選用include函數進行包含,如:<?include('read.php');?>這樣PHP是可以互相通信的啦。O(∩_∩)O~
8. PHP怎麼自動載入同一目錄下同一命名空間的類文件
自動載入的,只有在實例化時才會真的載入。實例化時,調用公共空間的方式是直接在元素名稱前加
\
就可以了,否則PHP解析器會認為我想調用當前空間下的元素。
9. php 面向對象框架是怎麼載入類文件的
有沒有定義命名空間啊namespace,如果有這個的話,其下面的代碼肯定有use某個類文件
10. php如何獲取當前腳本所有載入的文件
get_included_files 返回被 include和require文件名的array
說明
get_included_files ( void ) : array
返回所有被 include、 include_once、 require 和 require_once 的文件名。
返回值
返回所有文件名稱的 array。
腳本最初被稱為」被包含的文件「,所以腳本自身也會和 include 系列函數引用的腳本列在一起,被多次 include 和 require 的文件在返回的 array 里只會列出一次。
(10)php載入文件擴展閱讀:
程序示例
<?php
include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';
$included_files = get_included_files();
foreach ($included_files as $filename) {
echo "$filename ";
}
?>