以下多个上传代码将所有文件(图像(重命名为类似 56c2ce2498220Array
*请忽略代码中的所有混乱,我不是专业人士。
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
$username = $_POST['user_name'];
$today = date('Y-m-d H:i:s');
$pic = $_FILES["image"]["name"];
// Loop $_FILES to exeicute all files
foreach ($_FILES['image']['name'] as $f => $name) {
if ($_FILES['image']['error'][$f] == 4) {
continue; // Skip file if any error found
}
if ($_FILES['image']['error'][$f] == 0) {
if ($_FILES['image']['size'][$f] > $max_file_size) {
$msg[] = "$name is too large!.";
continue; // Skip large files
}
elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
$msg[] = "$name is not a valid format";
continue; // Skip invalid file formats
}
else{ // No error found! Move uploaded files
$pic = uniqid().$_FILES["image"]["name"];
if(move_uploaded_file($_FILES["image"]["tmp_name"], $path . $pic));
//if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
// Number of successfully uploaded file
$query ="insert into `all_tips` (`id_no`,`user_name`,`image`,`status`,`date`) values ('71','$username' ,'$pic','9','$today')";
if(mysql_query($query))
{
$msg = "<span style='"color: green;margin-left:25px;margin-top:25px;'">Image Inserted Successfully...!</span>";
}
else
{$msg = "Error in insertion.........".mysql_error(); }
}}}}
?>
我希望将文件重命名为:56c2c982de35djoinus2.jpg即uniqid PLUS 它们的原始名称 PLUS .format我已经尝试了许多组合,但我无法获得正确的名称。
另外,供参考:多张图片上传无法正常工作
我认为,在上传时,您正在使用: <input type="file" name="image[]" id="image">
[]
将以数组形式提交。由于您已经在使用 foreach,因此$name
将具有文件名的值。
所以,$pic = uniqid().$name;
会起作用!