我已经有了一个合适的图片上传系统。它上传&将图像存储在/uploads/
文件夹中,现在我需要跟踪谁上传了个人资料图片,我想在我的用户个人资料页面上显示该图像。
这是我的upload.php:
<?php
include('db.php');
// Check if user is logged in using the session variable
if ( $_SESSION['logged_in'] != 1 ) {
$_SESSION['message'] = "You must log in before viewing your profile page!";
header("location: error.php");
}
if (isset($_POST['submit'])) {
$file = $_FILES['file'];
$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$fileType = $file['type'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png', 'pdf');
if (in_array($fileActualExt, $allowed)) {
if ($fileError === 0) {
if ($fileSize < 1000000) {
$fileNameNew = uniqid('', true).".".$fileActualExt;
$fileDestination = 'uploads/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
header("Location: user.php");
} else {
echo "Your file is too big!";
}
} else {
echo "There was an error uploading your file!";
}
} else {
echo "You cannot upload files of this type!";
}
}
这是 HTML :
<form action="upload.php" method="POST" enctype="multipart/form-data" >
<div class="specialcontainer">
<input type="file" name="file" id="file" class="inputfile">
</div>
<div class="inner"></div>
<button type="submit" name="submit" class="uploadbuttonstyle">Upload</button>
</form>
</div>
我有2个表用于此目的,一个处理用户名,fname,lname,电子邮件,密码,用户描述等。我希望第二个显示他们的个人资料图像的状态,即他们是否已上传图像,状态为1,如果状态为0,则状态为0.如果状态为0,将显示目录/uploads/profiledefault.jpg
中的图像,这是新用户的默认配置文件图像。在PHP方面,我还是初学者。希望有人能告诉我这里的方式。
答案 0 :(得分:0)
您不需要使用另一张桌子。只需添加一列&#34; profile_image&#34;在您的第一个表中并将图像保存在该表中
if (move_uploaded_file($fileTmpName, $fileDestination)) {
// save/update "profile_image" field here.
}
当您想要显示个人资料图片时,只需检查profile_image列是否为空白。如果是则显示默认图像&#34; /uploads/profiledefault.jpg"否则显示来自&#34; profile_image&#34;的个人资料图片。列。
答案 1 :(得分:0)
我相信你有实体名为User。在此实体中添加属性profileImage
并在上载后保存图像的路径。您将获得当前用户并将文件路径添加到其属性profileImage
。每次注册新用户时,您只需提供profileImage
默认图片/uploads/profiledefault.jpg
的路径即可。这意味着用户将在每个点都拥有profileImage,而无需进行检查。