如果已经存在php代码,则自动重命名文件名

如果已经存在php代码,则自动重命名文件名,php,Php,upload.php <form enctype="multipart/form-data" action="uploader.php" method="POST"> Choose a file: <input name="uploadedfile" type="file" /><br /> Choose a file1: <input name="uploadedfile1" type="file" /><br /> <inpu

upload.php

<form enctype="multipart/form-data" action="uploader.php" method="POST">
Choose a file: <input name="uploadedfile" type="file" /><br />
Choose a file1: <input name="uploadedfile1" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
mysql_select_db("test");


$target_path = "uploads/" . basename( $_FILES['uploadedfile']['name']);
$currentfile = $_FILES['uploadedfile']['name']; 
$target_path1 = "upload1/" . basename( $_FILES['uploadedfile1']['name']);
$currentfile1 = basename( $_FILES['uploadedfile1']['name']); 


$dbfiles = mysql_query("SELECT * FROM new WHERE amount='$currentfile' || amount='$currentfile1'");
if(mysql_num_rows($dbfiles) > 0 )
{ 

//what code should i place here??    

}
else
{
        if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
        {
                echo "file1: ".$_FILES['uploadedfile']['name']."<br>";
                $file1 = basename( $_FILES['uploadedfile']['name']);
                mysql_query("insert into new (amount) values('$file1')");   
        }
        if(move_uploaded_file($_FILES['uploadedfile1']['tmp_name'], $target_path1))
        {
                echo "file2: ".basename( $_FILES['uploadedfile1']['name']);
                $file2 = basename( $_FILES['uploadedfile1']['name']);
                mysql_query("insert into new (amount) values('$file2')");   
        }
}

选择一个文件:
选择一个文件1:

表单upload.php的图像

uploader.php

<form enctype="multipart/form-data" action="uploader.php" method="POST">
Choose a file: <input name="uploadedfile" type="file" /><br />
Choose a file1: <input name="uploadedfile1" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
mysql_select_db("test");


$target_path = "uploads/" . basename( $_FILES['uploadedfile']['name']);
$currentfile = $_FILES['uploadedfile']['name']; 
$target_path1 = "upload1/" . basename( $_FILES['uploadedfile1']['name']);
$currentfile1 = basename( $_FILES['uploadedfile1']['name']); 


$dbfiles = mysql_query("SELECT * FROM new WHERE amount='$currentfile' || amount='$currentfile1'");
if(mysql_num_rows($dbfiles) > 0 )
{ 

//what code should i place here??    

}
else
{
        if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
        {
                echo "file1: ".$_FILES['uploadedfile']['name']."<br>";
                $file1 = basename( $_FILES['uploadedfile']['name']);
                mysql_query("insert into new (amount) values('$file1')");   
        }
        if(move_uploaded_file($_FILES['uploadedfile1']['tmp_name'], $target_path1))
        {
                echo "file2: ".basename( $_FILES['uploadedfile1']['name']);
                $file2 = basename( $_FILES['uploadedfile1']['name']);
                mysql_query("insert into new (amount) values('$file2')");   
        }
}
mysql_选择_数据库(“测试”);
$target_path=“uploads/”。basename($_文件['uploadedfile']['name']);
$currentfile=$\u文件['uploadedfile']['name'];
$target_path1=“upload1/”。basename($_文件['uploadedfile1']['name']);
$currentfile1=basename($_文件['uploadedfile1']['name']);
$dbfiles=mysql_查询(“选择*FROM new WHERE amount='$currentfile'| | amount='$currentfile1'”);
if(mysql_num_rows($dbfiles)>0)
{ 
//我应该在这里放置什么代码??
}
其他的
{
如果(移动上传的文件($上传文件['uploadedfile']['tmp\U名称'],$target\U路径))
{
echo“file1:”.$\u文件['uploadedfile']['name'].“
”; $file1=basename($_文件['uploadedfile']['name']); mysql_查询(“插入新的(金额)值(“$file1”)”; } 如果(移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ { echo“file2:”.basename($_文件['uploadedfile1']['name']); $file2=basename($_文件['uploadedfile1']['name']); mysql_查询(“插入新的(金额)值(“$file2”)”; } }
我需要在if条件
if(mysql_num_rows($dbfiles)>0){}
中放置什么代码,以便如果上载的文件名已经存在,文件应该自动更改其文件名,例如存在abc.jpg,然后有人上传了一个新文件,但名称和类型与abc.jpg相同。。那么新文件必须是abc_1.jpg。。。如果有人上传的内容与abc.jpg相同,则名称应为abc_2.jpg。。 abc_1.jpg必须是将保存到mysql的名称,abc_1.jpg必须是将保存到准备好的文件夹的文件。。thx

我在这里得到了想法和代码

试试这个

<?php
$target_path = "uploads/" . basename( $_FILES['uploadedfile']['name']); 
$target_path1 = "uploads/" . basename( $_FILES['uploadedfile1']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
}
else{
    echo "There was an error uploading the file, please try again!";
}

if(move_uploaded_file($_FILES['uploadedfile1']['tmp_name'], $target_path1)) {
    echo "The file ".  basename( $_FILES['uploadedfile1']['name']). 
    " has been uploaded";
}
else{
    echo "There was an error uploading the file1, please try again!";
}
?>

用这样的东西进行测试

<?php
    $target_path = "uploads/" . basename( $_FILES['uploadedfile']['name']);
    $target_path1 = "uploads/" . basename( $_FILES['uploadedfile1']['name']);
    $file_saved = false;

    if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
    {
        echo "The file ".  basename( $_FILES['uploadedfile']['name'])." has been uploaded";
        $file_saved = true;
    }
    if(move_uploaded_file($_FILES['uploadedfile1']['tmp_name'], $target_path1))
    {
        echo "The file ".  basename( $_FILES['uploadedfile1']['name']). 
" has been uploaded";
        $file_saved = true;
    }
    if (!$file_saved)
    {
        echo "There was an error uploading the file, please try again!";
    }
?>


将其设置为两个独立的
if
语句,而不是
if/elseif
。如果文件1上载,文件2将不会上载,因为它不需要评估
elseif
条件。您是否意识到只有
If
elseif
将被处理?只有一个分支可以被激活(事实上,情况就是发生了什么)。是的,一秒钟前在发布问题后,我尝试将ifelse改为if Only,它起了作用(我没有看你的消息伙计们),我想我们在同一时间得出了相同的结论=P