Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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从服务器检索图片_Php_Mysql - Fatal编程技术网

PHP从服务器检索图片

PHP从服务器检索图片,php,mysql,Php,Mysql,下面是设置: 我在本地主机环境上运行,所有权限都正常。我正在处理的项目必须从服务器检索照片并将其输出到表中。我通过在mysql数据库上保存图像路径来实现这一点,我知道mysql已被弃用。。。然后通过PHP像这样输出它们 <div class='images'> <?php $error = ""; $query = "SELECT imagepath FROM stories "; //replace image path with user

下面是设置:

我在本地主机环境上运行,所有权限都正常。我正在处理的项目必须从服务器检索照片并将其输出到表中。我通过在mysql数据库上保存图像路径来实现这一点,我知道mysql已被弃用。。。然后通过PHP像这样输出它们

    <div class='images'>
    <?php
    $error = "";
    $query = "SELECT imagepath FROM stories "; //replace image path with user
    if (mysql_num_rows(queryMysql($query)) == 0) $error='no images found';
    else {
        $query2 = "SELECT imagepath FROM stories "; //replace image path with user
        $result = queryMysql($query2); 
        $array = array(); 
        echo "<table id='imagebox'>
        <tr>";
        while ($rows = mysql_fetch_array($result, MYSQL_NUM)) {
            $array[] = $rows; 
        }
        for ($j = 0; $j < count($array); $j++ ) {
            echo "<td><img id='photo' src='$array[$j]' height='100' width='100'></td>"; 
            if (($j %3) == 0 ){
                echo "</tr><tr>"; 
            }
        }
        echo "</table>";
    }
    ?>
简而言之,输出是有效的。我得到了我想要的表格,但是图像没有显示,我看到了应该在哪里的方框,上面有破碎的图像符号。存储的链接没有问题,因为我已经测试过了。谢谢你的帮助。PS忽略代码中的注释,它们与我的困境无关

您的问题是: 1.图像的url不在数据库或
2.图像数据在数据库中,而不是图像路径

我猜您在服务器上存储的是相对链接而不是绝对链接,即/image1.jpg而不是www.yourserver.com/image1.jpg。

您可以尝试以下方法:

在数据库imagepath中,只需输入文件名

<div class='images'>
<?php
$error = "";
$query = "SELECT imagepath FROM stories "; //replace image path with user
if (mysql_num_rows(queryMysql($query)) == 0) $error='no images found';
else {
    $query2 = "SELECT imagepath FROM stories "; //replace image path with user
    $result = queryMysql($query2); 
    $array = array(); 
    echo "<table id='imagebox'>
    <tr>";
    while ($rows = mysql_fetch_array($result, MYSQL_NUM)) {
        $array[] = $rows; 
    }
    for ($j = 0; $j < count($array); $j++ ) {
        echo "<td><img id='photo' src='./images/$array[$j]' height='100' width='100'></td>"; 
        if (($j %3) == 0 ){
            echo "</tr><tr>"; 
        }
    }
    echo "</table>";
}
?>

您是否检查了图像url是否正常?这意味着图像的路径错误。您使用的是绝对URL还是相对URL?您的输出示例可能会有所帮助。var_dump$rows?是的,如果我做这样的事情;它输出数组中的第五个元素,因此链接似乎可以编辑:它输出数组中第五个url指向的图片。我找到了它。我运行这个命令来查看数组中实际存储的内容,并得到。。。echo$array[1];输出数组,因此循环出现问题。谢谢大家的帮助。你的例子不太清楚。如果实际图像位于www.yourserver.com/image1.jpg,那么将源代码设置为/image1.jpg仍然有效。你犯了什么错误!!