PHP在串联时删除正斜杠

时间:2019-03-02 12:06:08

标签: php html

我正在编写一个脚本,以使用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;";
}

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:2)

您在这里遗漏了一些东西

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

例如=和值之间的src

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

我确信,无论路径是什么,如果没有它,您的图像都不会显示。

  

正斜杠已删除(因此,在实际的图像标签中,它看起来像:.. images上传imageName.php)。回显$ num字符串时,文件目标正确显示。

您可能会看到的是浏览器在试图找出HTML标签时是如何中断的。由于echoing out the $num string变量的值正确时是正确的,因此标记已失效。 PHP不仅会神奇地从一行到另一行对变量的值进行处理。

干杯!

答案 1 :(得分:1)

也许可以像这样尝试使用str_replace()函数:

$num = str_replace(' ', '/', $files[$i]);

这应该用斜杠代替

答案 2 :(得分:1)

如果您的链接末尾没有任何斜杠,则会添加一个斜杠

if(substr($yourlinkvariable, -1) !== "/") {
$yourlinkvariable .= "/";
}