Smudly Posted July 7, 2010 Share Posted July 7, 2010 I've got a page where the user can upload an avatar/photo. Once it uploads, it isn't updated for the user. It either shows the old image that was already there, or shows a broken image. What is wrong with my code. How can I get it to update the most recent image uploaded upon hitting submit? Thanks. <?php session_start(); if (isset($_SESSION['username'])){ $username = $_SESSION['username']; $upload = $_POST['upload']; include('inc/connect.php'); $uploadsql = mysql_query("SELECT * FROM `users` WHERE `username`='$username'"); $uploadrow = mysql_fetch_assoc($uploadsql); $id = $uploadrow['id']; $avatar = $uploadrow['avatar']; $folder = "avatars/"; $avatarshow = '<img src="avatars/' . $avatar . '" width="65" height="65" />'; if ($upload) { // Name of file $name = $_FILES["image"]["name"]; // Type of file (video/avi) or image/jpg, etc $type = $_FILES["image"]["type"]; //size of file $size = $_FILES["image"]["size"]; //stores file in a temporary location $temp = $_FILES["image"]["tmp_name"]; // if there is an error $error = $_FILES["image"]["error"]; // function genRandomString() { // $characters = '0123456789abcdefghijklmnopqrstuvwxyz'; // $length = 10; // $string = ''; // for ($p = 0; $p < $length; $p++) { // $string .= $characters[mt_rand(0, strlen($characters))]; // } // return $string; // } if ($error > 0) { $uploaderror = "An error occured. Please try again."; } else { if ($type=="image/jpg" || $type=="image/png" || $type=="image/gif" || $type=="image/bmp" || $type=="image/jpeg") { if ($size <= 1048576) { //if(file_exists("avatars/".$name)){ if ($type=="image/jpeg"){ $extension = ".jpg"; } if ($type=="image/jpg"){ $extension = ".jpg"; } if ($type=="image/png"){ $extension = ".png"; } if ($type=="image/bmp"){ $extension = ".bmp"; } if ($type=="image/gif"){ $extension = ".gif"; } //$name1 = genRandomString($string); $ext = $extension; $name = $id.$ext; //} // unlink deletes the file so a new file can be uploaded in its place unlink('avatars/' . $avatar); $uploadquery = mysql_query("UPDATE users SET avatar='$name' WHERE username='$username'"); move_uploaded_file($temp, "avatars/".$name); $success = "Upload Complete!"; } else{ $uploaderror = "Your image must be less than 1 megabytes."; } } else { die("That format is not allowed!"); } } } } else{ header("Location: index.php"); } ?> <html> <h1>Upload a File</h1> <form action="upload.php" method="POST" enctype="multipart/form-data"> <input type="file" name="image"><br /> <input type="submit" name="upload" value="Upload"><br /> <?php $avatarshow = '<img src="avatars/' . $avatar . '" width="65" height="65" />'; ?> <?php echo $success, $uploaderror."<br />".$avatarshow; ?> </form> </html> Link to comment https://forums.phpfreaks.com/topic/207049-uploaded-image-not-updating/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.