Search code examples
phpuploadmove

what am i doing wrong in the upload script


Im trying to create a script which add a random no. in the uploaded file and then upload it to the server

   //This line assigns a random number to a variable. You could also use a timestamp here if you prefer. 
 $ran = rand () ;

 //This takes the random number (or timestamp) you generated and adds a _ on the end, so it is ready of the file extension to be appended.
 $ran2 = $ran."_";

 //This gets all the other information from the form 
 $name=$_POST['name']; 
 $email=$_POST['email']; 
 $phone=$_POST['phone']; 
 $pic=$ran2.$_FILES['uploaded']['name'];

 //escape User Input to help prevent SQL Injection
 $name= mysql_real_escape_string($name);   
 $email= mysql_real_escape_string($email);
 $phone= mysql_real_escape_string($phone);
 $pic= mysql_real_escape_string($pic);

 // Connects to your Database 
 mysql_connect("example.com", "user", "password") or die(mysql_error()) ; 
 mysql_select_db("database") or die(mysql_error()) ; 

 //Writes the information to the database 
 mysql_query("INSERT INTO `table` VALUES ('$name', '$email', '$phone', '$pic')") ; 



 //This assigns the subdirectory you want to save into... make sure it exists!
 $target = "images/";


//This combines the directory, the random file name, and the extension 
$target = $target . $pic; 


 //Writes the photo to the server 
 if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
 { 

 //Tells you if its all ok
 echo "file uploaded in ".$target; 
 } 
 else { 

 //Gives and error if its not 
 echo "Sorry, there was a problem uploading your file."; 
 } 

though i think the problem is in move_uploaded_file or $pic=$ran2.$_FILES['uploaded']['name']. Please help me correct it.


Solution

  • use copy function instead of move_uploaded_file to copy & rename uploaded file.

    copy($_FILES['uploaded']['tmp_name'], $target);