所以这是一个我从未体验过的奇怪现象,因为我在图像上传时有一个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;]解决了这个问题,并在刷新后坚持了下来。这并没有解决问题。我仍然非常希望有人帮助我找出问题所在,因为稍后我想展示其他人的个人资料图片,显然你可以对会话变量进行处理。
答案 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
变量的值,那么检查它是否与您之前的路径相同?