Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP通过basename()输出错误编码的HTML src_Php_Html_Encoding - Fatal编程技术网

PHP通过basename()输出错误编码的HTML src

PHP通过basename()输出错误编码的HTML src,php,html,encoding,Php,Html,Encoding,下面的PHP代码在目录images/galerias/minerales/brutos/中查找文件,并根据其中的文件夹/图像输出HTML <?php $folders = glob('images/galerias/minerales/brutos/*', GLOB_ONLYDIR); foreach($folders as $folder) { echo "<section id='".str_replace(' ', '', (basename($

下面的PHP代码在目录
images/galerias/minerales/brutos/
中查找文件,并根据其中的文件夹/图像输出HTML

<?php
    $folders = glob('images/galerias/minerales/brutos/*', GLOB_ONLYDIR);
    foreach($folders as $folder) {
        echo "<section id='".str_replace(' ', '', (basename($folder)))."' class='gallery'><div id='categoryimg'><p>".basename($folder)."</p></div><!-- SECTION -->".PHP_EOL;
            $files = glob("images/galerias/minerales/brutos/".basename($folder)."/*.{jpg}", GLOB_BRACE);
            foreach($files as $file) {
                echo "<div>".PHP_EOL."    <p>".basename($file, ".jpg")."</p>".PHP_EOL."    <img src='$file' alt='".basename($file, ".jpg")."'>".PHP_EOL."</div>".PHP_EOL;
            }
        echo "</section>";
    }
?>

自己修复了它-问题不在于服务器或PHP脚本,但我发现每当我上传一个名为
Sandía.jpg
的文件时,cPanel文件管理器会自动将其更改为
Sand%EDa.jpg
或类似的文件。因此,我还需要解决一些其他问题,但至少我知道我的代码从一开始就可以工作

  • cPanel版本:cPanel,Inc.11.52.2.2

  • cPanel语言设置为:西班牙语

更新 cPanel文件管理器不仅存在问题,Kubuntu的Ark归档管理器也存在问题。两者都引入了编码问题。真是一团糟,只要考虑到编码问题可能来自任何地方

我把这个答案留在这里是因为它可能会帮助其他认为自己有服务器端编码问题的人,他们可能也想检查cPanel文件管理器

<img src='images/galerias/regalosmagicos/Otros/Atrapasue#U00f1os.jpg' alt='Atrapasue#U00f1os'>