phpdirname出错,php dirname__file__

发布时间:2022-11-29

本文目录一览:

  1. [PHP复制文件(copy函数)代码出错 failed to open stream: No such file or directory](#PHP复制文件(copy函数)代码出错 failed to open stream: No such file or directory)
  2. php程序安装打开出现内容编码错误
  3. [PHP :dirname(FILE)获取路径不正确?怎么回事](#PHP :dirname(FILE)获取路径不正确?怎么回事)
  4. [php 系统路径dirname(FILE)输入的是反斜杠“\”,一般路径都是斜杠“/”,这不冲突吗???](#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')时前面已经有内容输出,检查前面内容以及requireinclude调用文件的内容。若无法找到可以在调用其它文件前使用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 上可能就会出问题。纯手打,望采纳。