graham23s Posted May 7, 2007 Share Posted May 7, 2007 Hi Guys, i'm having trouble with my completed upload code <?php $photo1 = $_FILES["image1"]["name"]; $username = mysql_real_escape_string($_POST["username"]); $max_image_size = 512000; $allowed = array("image/gif","image/jpg","image/x-png","image/jpeg"); $max_image_width = 500; $max_image_height = 450; $random_number = rand(000000,999999); // Query for a previous photo.../////////////////////////////////////////////////////// $result = mysql_query("SELECT photo1 FROM membership WHERE username='".$username."' LIMIT 1"); $row = mysql_fetch_object($result); $photo_to_delete = $row->photo1; unlink("uploads/".$photo_to_delete); // The renamed photo...//////////////////////////////////////////////////////////////// $renamed_photo = $random_number.".".substr($_FILES["image1"]["name"],strlen($_FILES["image1"]["name"])-3,3); // Check there wasn't a blank submission...//////////////////////////////////////////// if(empty($_FILES["image1"]["name"])) { echo "<p>Sorry, But No File Was Selected, Please Go Back And Try Again.</p>"; exit; } // Validation for Image... if ($_FILES["image1"]["size"] > $max_image_size) { echo "<p>Sorry <b>$username</b> That Image Is Bigger Than The Allowed Size Of 3mb Please <a href=\"java script: history.go(-1)\">Go Back</a></p>"; exit; } ##################################################################### // Validate image dimensions...//////////////////////////////////////////////////////// $dim = getimagesize($_FILES["image1"]["tmp_name"]); if($dim[0] >= $max_image_width || $dim[1] >= $max_image_height) { echo "<p>Sorry, That Image Isn't Within The Current Upload Dimensions Please Go Back And Upload Another!</p>"; exit; } // Validate image types...///////////////////////////////////////////////////////////// if (in_array($_FILES["image1"]["type"], $allowed)) { echo "<p>Sorry, That File Isn't One Of The Allowed File Types Only <b>.jpg</b> Are Allowed.</p>"; exit; } ##################################################################### $uploadpath = "uploads/"; // <- Upload folder... $uploadpath = $uploadpath.$renamed_photo; ##################################################################### if (!move_uploaded_file($_FILES["image1"]["tmp_name"], $uploadpath)) die("<p>Sorry, There Was An Error Uploading Your Image!"); echo "<p><br />The Image (<b><font color=\"red\">" .$_FILES["image1"]["name"]. "</b></font>) Has Been Uploaded Successfully!<br />"; echo '<br /><p>Please Wait To Be Re-Directed...</p>'; echo "<meta http-equiv=\"refresh\" content=\"3;URL=javascript: history.go(-1)\">"; // Create our query...///////////////////////////////////////////////////////////////// $sql = "UPDATE membership SET photo1='$renamed_photo' WHERE username='$username'"; // Run our query...//////////////////////////////////////////////////////////////////// $rs = mysql_query($sql, $conn) or die(mysql_error()); ?>] the problem is this code uploads SOME .jpg's and doesn't others , and also doesn't upoad .gif's, But if i change this: if (in_array($_FILES["image1"]["type"], $allowed)) { to this: if (!in_array($_FILES["image1"]["type"], $allowed)) { it uploads gif but not .jpgs im totally stumped any help would be great Graham Link to comment https://forums.phpfreaks.com/topic/50384-upload-not-uploading-all-pic-types/ Share on other sites More sharing options...
neel_basu Posted May 7, 2007 Share Posted May 7, 2007 firstly PLease Dont Post UNNECESSARY CODES You should use if (!in_array($_FILES["image1"]["type"], $allowed)) here qand try using if (in_array($_FILES["image1"]["type"], $allowed)) { echo $_FILES["image1"]["type"]."\n<br />"; echo "<p>Sorry, That File Isn't One Of The Allowed File Types Only <b>.jpg</b> Are Allowed.</p>"; exit; } Link to comment https://forums.phpfreaks.com/topic/50384-upload-not-uploading-all-pic-types/#findComment-247455 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.