1

HTMLコントロールを使用してファイルをアップロードできません。

image1.jpgとimage2.jpgの2つの画像ファイルがあるとします。

image1はアップロードされますimage2はアップロードされません

image1ではすべて問題ありません。同じコードがimage2に対して呼び出されますが、image2はアップロードされません。エラーは発生していません。

ファイルサイズや拡張子などのアップロード制限はありません。また、maxpostsize、uploadsize、およびメモリ制限を変更してphp.iniを変更しました。助けてください、私はこのことを3日間探していましたが、返事がありませんでした。

if(isset($_POST['submitBtn']))
{
$title=$_POST['titleTxt'];
mysql_query("INSERT into tblsliderphotos (title) values('$title')") or 
die(mysql_error());

    if($_FILES['file']['name']!="")
    {
    //echo $_FILES['file']['name'];
    $tblData=mysql_query("Select MAX(photoid) as id from tblsliderphotos");
    $row=mysql_fetch_array($tblData);

    $id=$row['id'];

    $path="photos/SliderPhotos/". $id.".".$image_ext;
    echo $path;
    move_uploaded_file($_FILES["file"]["tmp_name"],"../../".$path);
    mysql_query("Update tblsliderphotos SET path='".$path."' where 
photoid=".$id);
    }
}
4

1 に答える 1

0

問題はphpenvではないと思います。ただし、アップロードファイルの処理が必要です。

あなたのhtmlコードが以下のようなものだとしましょう

<form action="someaction" method="post" enctype="multipart/form-data">
<input type="text" name="title" />
<input type="file" name="file" />
<input type="file" name="file2" />
<input type="submit" name="submitBtn" value="Submit">
</form>

ここで、タイプ「file」の2つの入力があることに注意する必要があります。最初の入力は名前値「file」で、2番目の入力は名前値「file2」です。

両方を処理したい場合は、すべてのファイルを単独で処理する必要があります。以下のように:

$_FILES['file'] // this will give you information about the first input "file"

$_FILES['file2'] // this will give you information about the second input "file2"

ここで、両方のファイルをアップロードする場合は、それぞれに対してこれを行う必要があります。以下のように:

 // handling first file
if($_FILES['file']){
   echo $_FILES['file']['name'];
   move_uploaded_file($_FILES["file"]["tmp_name"],"../../".$path);
}

// handling second file
if($_FILES['file2']){
   echo $_FILES['file2']['name'];
   move_uploaded_file($_FILES["file2"]["tmp_name"],"../../".$path);
}

これにより、両方のファイルが$pathにアップロードされます

ただし、以下のように、$_FILES変数をループして同じことを行うことができます。

 foreach($_FILES as $key => $value){
     echo $key."\r\n";
     echo $value['name'];
     move_uploaded_file($value["tmp_name"],"../../".$path);
 }

この助けを願っています

于 2012-11-11T12:49:19.180 に答える