Member 13637584 Ответов: 1

Как получить изображение для постоянного отображения после загрузки?


Привет У меня есть функция ниже, в которой пользователь может загрузить фотографию профиля для себя, хранить в каталоге и в базе данных, которая ссылается на его идентификатор пользователя. Как только они загрузятся, я хочу отобразить это изображение, а также отобразить, если они выйдут из него, а затем вернутся?

Может ли кто - нибудь помочь мне с кодом для этого?

Спасибо

Что я уже пробовал:

<?php
session_start();
include("dbConnect.php"); 

if(isset($_SESSION ['currentUserID'])){ 
echo "<h1> Upload an image of yourself here!</h1>
	 <form action='myProfile.php' method='POST' enctype='multipart/form-data'>
		<input type='file' name='file'>
		<br><br><button type='submit' name='submit'>Upload photo</button>
 </form>";
}
error_reporting(E_ALL);
ini_set('display_errors', 1);
$id =$_SESSION['currentUserID'];

if (isset($_POST['submit'])){
	$file = $_FILES['file'];

	$fileName = $_FILES['file']['name'];
	$fileTmpName = $_FILES['file']['tmp_name'];
	$fileSize = $_FILES['file']['size'];
	$fileError = $_FILES['file']['error'];
	$fileType = $_FILES['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 = "profile".$id.".".$fileActualExt;
	$fileDestination = 'uploads/'. $fileNameNew;	
	move_uploaded_file($fileTmpName, $fileDestination);
	header("Location: myProfile.php?successCode=1");	
	echo "<img src='uploads/profile".$id.".jpg'>";
	}else{
		echo "your file too big";
	}
	}else{
		echo "There was error uploading file";
	}
	}else {
		echo "you cant upload files of this type";
	}
  // Insert record
  	$stmt = $conn->prepare("UPDATE Profile SET ProfilePicture='{$fileName}' WHERE UserID='{$_SESSION ['currentUserID']}'");
     $stmt->execute();
 }
//SuccessMessage
   if (isset($_GET["successCode"])) {
      if ($_GET["successCode"]==1)
         echo "<h3>Profile Picture uploaded!</h3>"; 
   }
?>

[no name]

У вас уже есть какой-то код.Пожалуйста, дайте нам знать, в чем заключается проблема.

Mohibur Rashid

Что вы подразумеваете под постоянным отображением?

[no name]

Иногда кэш браузера т. е не понятно.Если вы используете IE, то попробуйте проверить, как вы можете программно очистить кэш браузера в PHP.

1 Ответов

Рейтинг:
1

webmasterVM

Итак, вы хотите, чтобы предыдущее обновленное изображение было на странице при повороте назад?

if(isset($_SESSION ['currentUserID'])){ 
echo "<h1> Upload an image of yourself here!</h1>
	 <form action='myProfile.php' method='POST' enctype='multipart/form-data'>
		<input type='file' name='file'>
		<br><br><button type='submit' name='submit'>Upload photo</button>
 </form>";
$id =$_SESSION['currentUserID'];
echo "<img src='uploads/profile".$id.".jpg'/>";
}
error_reporting(E_ALL);
ini_set('display_errors', 1);
...