Page 1 of 1

upload file script not working

Posted: Sat Apr 22, 2006 5:53 am
by mhouldridge
Hi,

My upload file script simply doesnt display anything, and I dont know where it is stopping. PLease help

Code: Select all

$maxfilesize = 2500;
	
	echo $_FILES['upload']['tmp_name'];
	echo $_FILES['upload']['size'];
	
	// CHECK IF THERE WAS A FILE UPLOADED
	if (!is_uploaded_file($_FILES['upload']['tmp_name'])) {  // THIS LINE CHECKS WHETHER THE UPLOADED FILE IS SAFE
    $error = "you didn't select a file to upload.<br />";
	} 
	
//-----------------------------------------------------------------------------------// DONE
	
	// IF IT WAS, CONTINUE WITH MORE CHECKS
	else { 
		if ($_FILES['upload']['size'] > $maxfilesize) { 
        $error = "your image file was too large. Please upload a file smaller than 2.5MB<br />"; 
        unlink($_FILES['upload']['tmp_name']); 
		}
	
	// CHECK FILE EXTENSION	
	else { 
      	 $ext = strrchr($_FILES['upload']['name'], "."); 
       	 if ($ext != ".gif" AND $ext != ".jpg" AND $ext != ".jpeg" AND $ext != ".bmp" AND $ext != ".GIF" AND $ext != ".JPG" AND $ext != ".JPEG" AND $ext != ".BMP") { 
         $error = "your file was an unacceptable type.<br />"; 
         unlink($_FILES['upload']['tmp_name']); 
		 }
			
	// CREATE A UNIQUUE FILENAME
	if (eregi('^image/p?jpeg(;.*)?$', $_FILES['upload']['type'])){
	$extension = '.jpg';
	}
	else {
	$extension = '.gif';
	}
	
	// STEP 2 - THE COMPLETE PATH
	$filename = '/uploads/' .time() .
	$_SERVER['REMOTE_ADDR'] . $extension;
	
	echo $filename;
	
	// FILE EXIST ALREADY CHECK
	$add="uploads/$filename"; // the path with the file name where the file will be stored, upload is the directory name. 
	if (file_exists($add)){
	echo "Error - Filename already exists.  Please change the name of this file to something else and try again.";
	}
	
	// COPY FILE (IF IT IS DEEMED SAFE)
	if(is_uploaded_file($_FILES['upload']['tmp_name']) and
	copy($_FILES['upload']['tmp_name'], $filename)){
	echo "<p>Your image has been uploaded successfully as $filename.</p>";
	// UPDATE DATABASE
	include("db.php");
	$id = $_SESSION['id'];
	$query="UPDATE homes SET picture_filepath='$add' WHERE id='$var'";
	mysql_query($query);
	mysql_close();
	}
	// OR IF AN ERROR DO THE FOLLOWING
	else{
	echo "<p>Sorry there has been an error with your upload, please try later</p>";
	
	// CLOSE ALL THE IF STATEMENTS
	}
   } 
  }

Posted: Sat Apr 22, 2006 9:35 am
by feyd
nothing pops out as outright wrong although move_uploaded_file() should be used instead of copy(). I guess you need to do some debugging.