多个上传PHP
问题描述:
林停留在一个问题,多个上传PHP
我已经创建了一个乘载,它工作得很好,直到我想我上传到注册数据库中的文件名的文件, 该错误消息我得到的是
警告:mysql_real_escape_string()预计参数1是字符串,在C中给出 阵列:\瓦帕\ WWW \ bookstyled \上线profile.php 16
我的线16是可变FILE_NAME
$file_name = mysql_real_escape_string($_FILES['file_name']['name']);
如果我删除了mysql_real_escape_string,它实际上保存到数据库中,但不作为文件名,但其表示,“阵列”
这是一些代码
if(isset($_FILES['file_name'])) {
foreach ($_FILES['file_name'] ['tmp_name'] as $key => $tmp_name){
$file_name = mysql_real_escape_string($_FILES['file_name']['name']);
$dt1=date('y-m-d H:m:s');
$ip=$_SERVER['REMOTE_ADDR'];
mysql_query("INSERT INTO `files` (`file_name`, `user_name`,`file_time`,`file_ip`) VALUES ('$file_name', '{$_SESSION['username']}','$dt1','$ip')") ;
move_uploaded_file($tmp_name, "core/files/{$_FILES['file_name']['name'][$key]}");
}
}
而且如果我没有提到它 正在上传文件。
感谢
答
您已启用多个上传。所以我猜你的html名称的字段是数组。例如:
<input type="file" name="file_name[]" multiple="multiple">
现在$ _FILES [ 'FILE_NAME'] [ '名']不成立一个文件,但多个文件在数组中。
由于您使用
$file_name = mysql_real_escape_string($_FILES['file_name']['name'])
每个文件都是单独通过
$_FILES['file_name']['name'][$i] //where $i is a 0,1,2.....
访问的功能mysql_real_escape_string没有被赋予一个字符串作为参数,但完整的阵列持有的每文件上传到'file_name'。
的解决方案很简单,您需要使用
file_name = mysql_real_escape_string($_FILES['file_name']['name'][$key])
$关键,因为我看到你已经在使用,在move_upload_file功能
答
如果当你在这个句子中move_uploaded_file($tmp_name, "core/files/{$_FILES['file_name']['name'][$key]}");
使用[$key]
改变这种
$file_name = mysql_real_escape_string($_FILES['file_name']['name']);
这个
$file_name = mysql_real_escape_string($_FILES['file_name']['name'][$key]);
我认为你应该上线16使用太多。
答
未经测试,但可以工作。
if(isset($_FILES['file_name'])) {
foreach ($_FILES['file_name'] as $file){
$file_name = mysql_real_escape_string($file['tmp_name']);
$dt1=date('y-m-d H:m:s');
$ip=$_SERVER['REMOTE_ADDR'];
mysql_query("INSERT INTO `files` (`file_name`, `user_name`,`file_time`,`file_ip`) VALUES ('$file_name', '{$_SESSION['username']}','$dt1','$ip')") ;
move_uploaded_file($tmp_name, "core/files/{$file['name']}");
}
}
答
看起来像$ _FILES [ 'FILE_NAME'] [ '名']是不是字符串,所以尽量$阵列_FILES [ 'FILE_NAME'] [ '名称'] [ '钥匙']
谢谢!它一直在唠叨我洞天:) 谢谢 – Dymond 2012-07-10 19:53:41
同样的答案比我的,但更多的解释。 +1 – DontVoteMeDown 2012-07-10 19:57:28