[英]PHP removing forward slashes when concatenating
我正在制作一个脚本来使用 PHP 显示特定文件夹中的所有图像。 但是,当遍历 for 循环时,我保存图像目标的字符串 (../images/uploads/imageName.png) 删除了正斜杠(因此在实际的图像标签中它看起来像:.. images 上传 imageName。 php)。 回显 $num 字符串时,文件目标正确显示。 我的脚本显示如下:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$files = glob("../images/uploads/*.*");
for ($i = 0; $i < count($files); $i++) {
$num = $files[$i];
echo $num;
echo '<img src"'.$num.'" alt="random image">'." ";
}
任何帮助将不胜感激
你在这里遗漏了一些东西:
echo '<img src"'.$num.'" alt="random image">'." ";
比如src
和value之间的=
echo '<img src="'.$num.'" alt="random image">'." ";
我敢肯定,无论路径如何,如果没有它,您的图像都不会显示....
删除了正斜杠(所以在实际的图像标签中它看起来像:.. 图像上传 imageName.php)。 回显 $num 字符串时,文件目标正确显示。
您可能看到的是浏览器在尝试找出 HTML 标签时是如何崩溃的。 因为当您echoing out the $num string
它是正确的,变量的值是正确的,它是分解的标签。 PHP 不会只是神奇地从一行到下一行对变量的值做一些事情。
干杯!
如果您的链接末尾没有任何斜线,这将添加一个斜线
if(substr($yourlinkvariable, -1) !== "/") {
$yourlinkvariable .= "/";
}
也许尝试使用str_replace()
函数,如下所示:
$num = str_replace(' ', '/', $files[$i]);
这应该用斜杠替换空格
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.