Thread: Php file upload
View Single Post
Join Date: Aug 2007
Posts: 55
Reputation: wilch is an unknown quantity at this point 
Solved Threads: 9
wilch wilch is offline Offline
Junior Poster in Training

Re: Php file upload

 
0
  #3
Jan 9th, 2009
What i would first attempt to do is to check whether the field 'file' has anything after being posted, if it is set to something (hopefully a filename) then we can proceed to call the other image processing stuff.
Otherwise we omit the image processing code.

i.e.


  1. //put the isset(...) stuff here
  2.  
  3. if ($_FILES['file']['name'] != '') { //can check for other things
  4.  
  5. // check for standard uploading errors
  6. ($_FILES[$fieldname]['error'] == 0)
  7. or error($errors[$_FILES[$fieldname]['error']], $uploadForm);
  8.  
  9. // check that the file we are working on really was an HTTP upload
  10. @is_uploaded_file($_FILES[$fieldname]['tmp_name'])
  11. or error('not an HTTP upload', $uploadForm);
  12.  
  13. // validation... since this is an image upload script we
  14. // should run a check to make sure the upload is an image
  15. @getimagesize($_FILES[$fieldname]['tmp_name'])
  16. or error('only image uploads are allowed', $uploadForm);
  17.  
  18. // make a unique filename for the uploaded file and check it is
  19. // not taken... if it is keep trying until we find a vacant one
  20. $md5 = md5(microtime() * mktime());
  21.  
  22.  
  23. $string = substr($md5,0,5);
  24.  
  25. while(file_exists($uploadFilename = $uploadsDirectory.$string.'-'.$_FILES[$fieldname]['name']))
  26. {
  27. $string++;
  28. }
  29. $name = $string.'-'.$_FILES[$fieldname]['name'];
  30.  
  31.  
  32. // now let's move the file to its final and allocate it with the new filename
  33. @move_uploaded_file($_FILES[$fieldname]['tmp_name'], $uploadFilename)
  34. or error('receiving directory insuffiecient permission', $uploadForm);
  35.  
  36. rename("shopping/" . $name, "shopping/" .$type."-".$name);
  37.  
  38. }
  39. //put that function error function here
  40. //----------------
I have put the code which i think affects the image into the if clause. All code before and after should remain as before.
Last edited by peter_budo; Jan 11th, 2009 at 2:22 pm. Reason: Keep It Organized - For easy readability, always wrap programming code within posts in [code] (code blocks) and [icode] (inline code) tags.
Reply With Quote