繁体   English   中英

PHP在连接时删除正斜杠

[英]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">'."&nbsp;&nbsp;";
}

任何帮助将不胜感激

你在这里遗漏了一些东西:

echo '<img src"'.$num.'" alt="random image">'."&nbsp;&nbsp;";

比如src和value之间的=

echo '<img src="'.$num.'" alt="random image">'."&nbsp;&nbsp;";

我敢肯定,无论路径如何,如果没有它,您的图像都不会显示....

删除了正斜杠(所以在实际的图像标签中它看起来像:.. 图像上传 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM