-1

我有一个给定的表结构

     |   ID    |             IMAGE                | 
     |   01    |           123.jpg                |    
     |   02    |  http://localhost/test/logo.jpg  |    
     |   03    |  http://localhost/test/pic.jpg   |    
     |   04    |           image.png              |    

我得到如下所示的图像

$qry="SELECT IMAGE FROM `table`";
$res=mysql_query($qry);
while($row=mysql_fetch_row($res)){
    if($row[0])
    {
       $pic="http://localhost/test/".$row[0];
    }
    else
    {
        $pic="";
    }
    echo $pic;
}

但它不能正常工作 02,03 图像

4

4 回答 4

2

以下仅在给定值尚未以“http://”或“https://”开头时添加完整 URL:

if($row[0])
{
    if (stripos($pic, "http://") === false && stripos($pic, "https://") === false)
        $pic="http://localhost/test/".$row[0];
    else
        $pic=$row[0];
}
else
{
    $pic="";
}
于 2012-05-16T13:28:00.860 回答
0

您似乎没有在表格中存储图像的标准方式。如果这些是唯一的格式,则需要在将图像字符串放在一起之前添加某种检查。

while($row=mysql_fetch_row($res)){
if($row[0])
   {
   if
   $pic = (strpos($row[0], "//") === false) ? "http://localhost/test/".$row[0]: $row[0];
   }
   else
   {
   $pic="";
   }
echo $pic;
}
于 2012-05-16T13:28:26.833 回答
-1

我想你改变你的代码

 $pic="http://localhost/test/".$row[0];

 $pic="http://localhost/test/".$row[1];

因为您的图像列是 $row[1]

于 2012-05-16T13:27:23.253 回答
-1

好吧,显然你会得到图像 02 和 03 的 URL:

http://localhost/test/http://localhost/test/logo.jpg
http://localhost/test/http://localhost/test/pic.jpg

这显然是坏形成的。也许您想将此添加到您的代码中...

if($row[0])
   {
   if (strpos($row[0],'/')) {
     $pic=$row[0];
   } else {
   $pic="http://localhost/test/".$row[0];
   }
} else ...
于 2012-05-16T13:29:29.000 回答