0
我有一個簡單的腳本,可以上傳我的服務器上的文件並將詳細信息插入到數據庫中。多圖片上傳問題
有了下面的代碼我得到兩個錯誤..
我想只允許JPG格式。 gif和.png格式但不起作用..所有類型的格式都上傳到服務器上。
將腳本導入數字(1,2,3 ...)放入Mysql中,如果上傳字段爲空的話。
我嘗試了好幾個小時來解決這些問題,但我不知道什麼是錯..
謝謝。
<?php
include_once('connect.php');
if(isset($_FILES['files'])){
$errors = array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size = $_FILES['files']['size'][$key];
$file_type = $_FILES['files']['type'][$key];
if($file_type == "image/gif"){
$sExt = ".gif";
} elseif($file_type == "image/jpeg" || $file_type == "image/pjpeg"){
$sExt = ".jpg";
} elseif($file_type == "image/png" || $file_type == "image/x-png"){
$sExt = ".png";
}
if (!in_array($sExt, array('.gif','.jpg','.png'))) {
$errors[] = "Image types alowed are (.gif, .jpg, .png) only!";
}
$file_tmp = $_FILES['files']['tmp_name'][$key];
$file_type = $_FILES['files']['type'][$key];
if($file_size > 2097152){
$errors[]='File size must be less than 2 MB';
}
$query = "INSERT into offers_pics (`offer_id`,`pic_name`,`pic_type`) VALUES ('$user_id','$file_name','$file_type'); ";
$result = mysqli_query($link,$query);
$desired_dir = "user_data";
if(empty($errors) == true){
if(is_dir($desired_dir) == false){
mkdir("$desired_dir", 0700); // Create directory if it does not exist
}
if(is_dir("$desired_dir/".$file_name) == false){
move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
}else{ // rename the file if another one exist
$new_dir = "$desired_dir/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
}else{
print_r($errors);
}
}
if(empty($error)){
echo "Success";
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]"> <br/>
<input type="file" name="files[]"> <br/>
<input type="file" name="files[]"> <br/>
<input type="file" name="files[]"> <br/>
<input type="file" name="files[]" > <br/><br/>
<input type="submit"/>
</form>
enter code here