比較的新しいPHPです。ワンタッチで複数の画像をデータベースにアップロードする必要があります。これがコードです。個々の画像を個別に読み込むためにforeachループを追加する必要があることを理解していますが、個々の画像を挿入するための適切な場所を見つけることはできません。どんな答えでも大歓迎です。複数の画像をmysqlデータベースにアップロード
<?php
error_reporting(~E_NOTICE); // avoid notice
require_once 'dbconfig.php';
if(isset($_POST['btnsave']))
{
$carname = $_POST['car_name'];// car name
$carmodel = $_POST['car_model'];// car model
$caramount = $_POST['car_amount'];// car amount
$imgFile = $_FILES['car_image']['name'];
$tmp_dir = $_FILES['car_image']['tmp_name'];
$imgSize = $_FILES['car_image']['size'];
if(empty($carname)){
$errMSG = "Please Enter Name of the Car.";
}
else if(empty($carmodel)){
$errMSG = "Please Enter Model Number of the car.";
}
else if(empty($caramount)){
$errMSG = "Please Enter the cost of the car.";
}
else if(empty($imgFile)){
$errMSG = "Please Select Image File.";
}
else
{
$upload_dir = 'user_images/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$carpic = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 5000000) {
move_uploaded_file($tmp_dir,$upload_dir.$carpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
}
// if no error occured, continue ....
if(!isset($errMSG))
{
$stmt = $DB_con->prepare('INSERT INTO tbl_cars(carName,carModel,carAmount,carPic) VALUES(:cname, :cmodel, :camount, :cpic)');
$stmt->bindParam(':cname',$carname);
$stmt->bindParam(':cmodel',$carmodel);
$stmt->bindParam(':camount',$caramount);
$stmt->bindParam(':cpic',$carpic);
if($stmt->execute())
{
$successMSG = "new record succesfully inserted ...";
header("refresh:5;car_display.php"); // redirects image view page after 5 seconds.
}
else
{
$errMSG = "error while inserting....";
}
}
}
?>
私はループごとに単純なものを追加する必要があることを知っています。実行は失敗しています。 誰かがこれは、基本的にポストあなたはそれがファイル の配列で、その後、あなたのPHPでのforeachを呼び出しますされるHTMLで指定する必要が
<tr>
<td><label class="control-label">Car Img.</label></td>
<td><input class="input-group" type="file" name="car_image" multiple="multiple" accept="image/*" /></td>
あなたは、あなたが実行するつもりどんな操作、それぞれとすべての画像に反復それはサイズだ確認し、それの名前を変更するには答え、ループを持っていますDBに挿入します。実際には、一連の画像を作成して画像をループすることができます。 – datelligence
はい、私はちょうどそれを正しく実行するように思えません。私はPHPにとって非常に新しいことを忘れないでください。 –
誰もあなたを救うつもりはありません...複数のファイルがある場合、 '$ _FILES'は異なって見えます。あなたの '