刷新后,HTML加载的图像消失了

时间:2015-02-25 04:16:10

标签: php html image

所以这是一个我从未体验过的奇怪现象,因为我在图像上传时有一个HTML表单(正是W3上的那个)。点击后,它可以正常工作,并将用户个人资料图片推送到文件夹,同时在数据库中保存文件名。在上传下方,我有一个小图片标记,可以显示上传的个人资料图片。最终目标是在会话存在时不断地在页面上显示该配置文件图片。上传后,它可以正常工作,并显示个人资料图片。刷新一次后,无法找到图像并且alt ="空白"接手。该位置仍然在数据库中保持正常,所以我不认为这是问题所在。有错误吗?我需要使用JS onload吗?图像标签只能使用一次吗?请帮助并感谢您花时间阅读本文。

PHP:

echo '<img src="'.$loaded_profile_picture.'"id="HOMEPROFILE" alt="blank" style="width:128px;height:128px">';
//$loaded_profile_picture has the value uploads/photo.jpg

Classes.php:

    public function addProfilePicture(){
        include_once "conn.php";
        $sql=$dbh->prepare("UPDATE users SET UserProfilePicture=:UserProfilePicture WHERE UserName=:UserName;");
        $sql->execute(array(
            'UserProfilePicture'=>$this->getUserProfilePicture(),
            'UserName'=>$_SESSION['UserName'],
            ));
    }

图片上传(可能是罪魁祸首):

        if($uploadsuccess&&move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_file)){
                    echo " The file ".basename($_FILES['fileToUpload']['name'])." has been uploaded.";
                    $user->setUserProfilePicture($target_file);
                    $user->addProfilePicture();
                    if($user->getUserProfilePicture()!=NULL){
                        echo '<img src="'.$target_file. '" alt="nom">'; 
                    }
        }

编辑: 虽然许多用户有类似的问题(即Image display with <img src=""> not working)我试过看localhost:8888 / xampp / LocalPost / pages / uploads / photos.jpg它显示得很好。我还在Windows 7上更改了文件权限,没有运气。感谢您的辛勤工作,我一直在寻找。

编辑: 我通过使用$ _SESSION [&#39; UserProfilePicture&#39;]解决了这个问题,并在刷新后坚持了下来。这并没有解决问题。我仍然非常希望有人帮助我找出问题所在,因为稍后我想展示其他人的个人资料图片,显然你可以对会话变量进行处理。

2 个答案:

答案 0 :(得分:0)

首先在脚本结尾处遗漏}

    if($uploadsuccess && move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_file)){
                    echo " The file ".basename($_FILES['fileToUpload']['name'])." has been uploaded.";
                    $user->setUserProfilePicture($target_file);
                    $user->addProfilePicture();
                    if($user->getUserProfilePicture()!=NULL){
                        echo '<img src="'.$target_file. '" alt="nom">'; 
                    }
}

答案 1 :(得分:0)

在刷新页面后检查一次,您将获得$loaded_profile_picture变量的值?

如果您获得$loaded_profile_picture变量的值,那么检查它是否与您之前的路径相同?