本文目錄一覽:
- 1、PHP複製文件(copy函數)代碼出錯 failed to open stream: No such file or directory
- 2、php程序安裝打開出現內容編碼錯誤
- 3、PHP :dirname(__FILE__)獲取路徑不正確?怎麼回事
- 4、php 系統路徑dirname(__FILE__)輸入的是反斜杠「\」,一般路徑都是斜杠「/」,這不衝突嗎???
PHP複製文件(copy函數)代碼出錯 failed to open stream: No such file or directory
你在copy函數的上一行把$source和$desc都列印出來看一下,報錯的信息是文件或路徑不存在,應該是個路徑錯誤
php程序安裝打開出現內容編碼錯誤
親,很高興為你解答:
這可能是與伺服器的全局配置有關:
1、伺服器不支持這種壓縮格式,可使用function_exists(‘ob_gzhandler’)判斷,解決方法 ob_start(‘ob_gzhandler’)改為ob_start();
2、使用ob_start(‘ob_gzhandler’)時候前面已經有內容輸出,檢查前面內容以及require include調用文件的內容。若無法找到可以在調用其它文件前使用ob_start(),調用之後使用 ob_end_clean () 來清除輸出的內容;
也有可能是文件中包含了BOM頭,你可以用以下程序檢查:
?php
if (isset($_GET[‘dir’])){ //設置文件目錄
$basedir=$_GET[‘dir’];
}else{
$basedir = ‘.’;
}
$auto = 1;
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 “.checkBOM(“$basedir/$file”).” br”;
}else{
$dirname = $basedir.”/”.$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
function checkBOM ($filename) {
global $auto;
$contents = file_get_contents($filename);
$charset[1] = substr($contents, 0, 1);
$charset[2] = substr($contents, 1, 1);
$charset[3] = substr($contents, 2, 1);
if (ord($charset[1]) == 239 ord($charset[2]) == 187 ord($charset[3]) == 191) {
if ($auto == 1) {
$rest = substr($contents, 3);
rewrite ($filename, $rest);
return (“font color=redBOM found, automatically removed./font”);
} else {
return (“font color=redBOM found./font”);
}
}
else return (“BOM Not Found.”);
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, “w”);
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?
運行後看一下程序輸出就可以了,有BOM頭的會有紅字提示。
———————————–
如有疑問歡迎追問!
滿意請點擊右上方【選為滿意回答】按鈕 么么噠o(∩_∩)o
PHP :dirname(__FILE__)獲取路徑不正確?怎麼回事
語句包含並運行指定文件。
( $XXXX 是變數名 )
dirname() 返迴路徑中的目錄部分
例如
$path = “/etc/passwd.php”;
$file = dirname($path);
$file 就是/etc
__FILE__ 是PHP的魔術常量 表示當前文件的完整路徑和文件名
basename() 返迴路徑中的文件名部分
例如
$path = “/home/httpd/html/index.php”;
$file = basename($path);
$file 就是 index.php
整句話就是 載入一個在你項目路徑中do文件夾下的跟你當前文件同名的文件
如果正確 請採納我
php 系統路徑dirname(__FILE__)輸入的是反斜杠「\」,一般路徑都是斜杠「/」,這不衝突嗎???
主要是windows和linux環境區別! win下面物理路徑是\ ,linux下是/,但一般用/,已保證兼容性,如果你用的是\那麼在linux上可能就會出問題。純手打,望採納。
原創文章,作者:XMKF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144142.html