如果已经存在php代码,则自动重命名文件名
upload.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
<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