本文目录一览:
- [PHP复制文件(copy函数)代码出错 failed to open stream: No such file or directory](#PHP复制文件(copy函数)代码出错 failed to open stream: No such file or directory)
- php程序安装打开出现内容编码错误
- [PHP :dirname(FILE)获取路径不正确?怎么回事](#PHP :dirname(FILE)获取路径不正确?怎么回事)
- [php 系统路径dirname(FILE)输入的是反斜杠“\”,一般路径都是斜杠“/”,这不冲突吗???](#php 系统路径dirname(FILE)输入的是反斜杠“\”,一般路径都是斜杠“/”,这不冲突吗???)
PHP复制文件(copy函数)代码出错 failed to open stream: No such file or directory
你在copy
函数的上一行把$source
和$desc
都打印出来看一下,报错的信息是文件或路径不存在,应该是个路径错误。
php程序安装打开出现内容编码错误
亲,很高兴为你解答: 这可能是与服务器的全局配置有关:
- 服务器不支持这种压缩格式,可使用
function_exists('ob_gzhandler')
判断,解决方法:将ob_start('ob_gzhandler')
改为ob_start()
; - 使用
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=red>BOM found, automatically removed.</font>";
} else {
return "<font color=red>BOM 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 环境区别!Windows 下物理路径是 \
,Linux 下是 /
,但一般用 /
,以保证兼容性。如果你用的是 \
,那么在 Linux 上可能就会出问题。纯手打,望采纳。