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 Quote 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; } Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.