我试图创建一个脚本,在上传的文件中添加一个随机编号,然后将其上传到服务器
//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.";
}
尽管我认为问题出在move_uploaded_file或$pic=$ran2.$_FILES['ploaded']['name']中。请帮我纠正。
使用copy函数而不是move_uploaded_file来复制&重命名上载的文件。
copy($_FILES['uploaded']['tmp_name'], $target);