2016-08-16 6 views
0

初めて自分のサイトで画像をアップロードしたとき、すべて正常に動作しました。 今、私は自分の行に2つのイメージの列を作成しました... 私のDBに私はこれら3つの列を持っています... | image | img_v1 | img_v2 |複数のファイルをアップロードする方法、行の異なる列にパスを保存するPHP

私は自分のimgをアップロードすると、最初の作品のみ、なぜ私はその作品が1つだけ知っている。ので、私のイメージは、そのここにパスを設定cuzをアップロードしている 問題は、イムは右のそれをやっていないということですので、私は他のIMGSをアップロードすることができます...ここ は私のコードです...

 $error = ''; 
     if(isset($_POST['submit_post'])){ 
     $title = strip_tags($_POST['title']); 
     $date = date('Y-m-d h:i:s'); 
     if($_FILES['image']['name'] !=''){ 
     $image_name = $_FILES['image']['name']; 
     $image_tmp = $_FILES['image']['tmp_name']; 
     $image_size = $_FILES['image']['size']; 
     $image_ext = pathinfo($image_name,PATHINFO_EXTENSION); 
     $image_path = '../clientes/img/'.$image_name; 
     $image_db_path = 'img/'.$image_name; 

     $target1 = 'img/';$target1 = $target1 . basename($_FILES['img_v1']['name']); 
     $target2 = 'img/';$target2 = $target2 . basename($_FILES['img_v2']['name']); 
    ////this above send's the name from the img to the server ex...img/05.jpg 

     if($image_size < 10000000){ 
     if($image_ext == 'jpg' || $image_ext == 'png' || $image_ext == 'jpeg' || $image_ext == 'gif'){ 
            if(move_uploaded_file($image_tmp,$image_path)){ 

    $ins_sql = "INSERT INTO gallery (title, description, image, img_v1, img_v2, category, status) VALUES ('$title', '$_POST[description]', 
'$image_db_path', '$target1', '$target2', '$_POST[category]', '$_POST[status]')";.... 

...

$image_path = '../clientes/img/'.$image_name; 

$ target1と$ target2イメージパスをアップロードできるように設定する必要があります。

私はこれを試しました... if(move_uploaded_file($image_tmp,$image_path,$target1,$target2)) しかし、確かにそれは2つのパラメータで動作しています。

私の入力フィールドには、私はまだ学んでいるcuzを私はPHPで非常にnoobのだ...

<form action="" method="post" enctype="multipart/form-data" class="form-horizontal"> 
     <div class="form-group col-md-5"> 
     <label for="images">Centralizada</label> 
     <input id="images" type="file" name="image" class="btn btn-danger"> 
     </div> 
     <div class="form-group col-md-5"> 
     <label for="img_v1">V1</label> 
     <input id="img_v1" type="file" name="img_v1" class="btn btn-danger"> 
     </div> 
     <div class="form-group col-md-5"> 
     <label for="img_v2">V2</label> 
     <input id="img_v2" type="file" name="img_v2" class="btn btn-danger"> 
     </div> 

です。 だから私はこの仕事をするために何をしなければならないのですか?

答えて

-1

あなたは3つの画像を別々にアップロードして、パスをいくつかの変数にdbに保存し、最後にinsertクエリでdbに保存することができます。

$tmp_name1 = Your_first_image; 
$tmp_name2 = Your_Second_image; 
$tmp_name3 = Your_Third_image; 
$uploads_dir = Your_destination_for_image; 

$uploads_dir1 = $uploads_dir.'/'.$tmp_name1; 
$uploads_dir2 = $uploads_dir.'/'.$tmp_name2; 
$uploads_dir3 = $uploads_dir.'/'.$tmp_name3; 
$db_image1 = ''; 
$db_image2 = ''; 
$db_image3 = ''; 

if(move_uploaded_file($tmp_name1, $uploads_dir1)) 
{ 
    $db_image1 = $uploads_dir1; 
} 

if(move_uploaded_file($tmp_name2, $uploads_dir2)) 
{ 
    $db_image2 = $uploads_dir2; 
} 

if(move_uploaded_file($tmp_name3, $uploads_dir3)) 
{ 
    $db_image3 = $uploads_dir3; 
} 

$ins_sql = "INSERT INTO gallery (title, description, image, img_v1, img_v2, category, status) VALUES ('$title', '$_POST[description]', 
'$db_image1', '$db_image2', '$db_image3', '$_POST[category]', '$_POST[status]') 
+0

説明は3つの画像を別々にアップロードし、次に値を変数に設定するためのものです。それは可読性ではありませんか? –

+0

ですが、複雑でも不正確でもありません。この方法も有効です。 –

+0

開発者は明らかに彼が異なる入力フィールドを持っていると言いました。私の解決策は質問された質問に従っています。あなたはdownvoteを実行してコメントを追加する前に、両方の質問を読んで答えてください。 –

関連する問題