3

私はphpの初心者で、現在phpでプロジェクトを行っています。画像をアップロードしたい (最大 4 つの画像ファイルのみ)。次のコードを使用して画像をアップロードしました。

<script type="text/javascript">
count=1;
function add_file_field()
{
if(count<4)
{
var container=document.getElementById('file_container');
var file_field=document.createElement('input');
file_field.name='images[]';
file_field.type='file';
container.appendChild(file_field);
var br_field=document.createElement('br');
container.appendChild(br_field);
count++;
}
}

</script>



        <div id="file_container">
    <input name="images[]" type="file" id="file[]" />
<br />
    </div> 

        <br><a href="javascript:void(0);" onClick="add_file_field();">Add</a> 

単一ファイルのアップロードに次のコードを使用しました。動作しています

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 100000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "File Error : " . $_FILES["file"]["error"] . "<br />";
}else {
echo "Upload File Name: " . $_FILES["file"]["name"] . "<br />";
echo "File Type: " . $_FILES["file"]["type"] . "<br />";
echo "File Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; 
 echo "File Description:: ".$_POST['description']."<br />";

 if (file_exists("images/".$_FILES["file"]["name"]))
 {
 echo "<b>".$_FILES["file"]["name"] . " already exists. </b>";
 }else
 {

$tmpname=$_FILES["file"]["tmp_name"];
$name=$_FILES["file"]["name"];
$new="jun.jpg";
rename($name,$new);
 move_uploaded_file($_FILES["file"]["tmp_name"],"images/".$new);
  echo "Stored in: " . "images/" .$new."<br />";
 ?>
 Uploaded File:<br>
 <img src="images/<?php echo $new; ?>" alt="Image path Invalid" >
<?php
}
}
}else
{
echo "Invalid file detail ::<br> file type ::".$_FILES["file"]["type"]." , file size:::       ".$_FILES["file"]["size"];
}
?>

このコードを変更して、最大 4 つの画像をアップロードするには助けが必要です。名前変更機能を使用して、指定したフォルダに移動する際にアップロードするファイルの名前を変更できますか? しかし、それはエラーを示していました

私を助けてください

4

4 に答える 4

2
<?php


if(isset($_POST['submit']))
{

    $count=count($_FILES["images"]["name"]);


for($i=0;$i<$count;$i++)
{   
  if ((($_FILES["images"]["type"][$i] == "image/gif")
 || ($_FILES["images"]["type"][$i]  == "image/jpeg")
|| ($_FILES["images"]["type"][$i]  == "image/pjpeg"))
&& ($_FILES["images"]["size"][$i] < 100000))
{

 if ($_FILES["images"]["error"][$i]  > 0)
 {
 echo "File Error : " . $_FILES["images"]["error"][$i]  . "<br />";
  }
  else 
 {
  echo "Upload File Name: " . $_FILES["images"]["name"][$i]  . "<br />";
 echo "File Type: " . $_FILES["images"]["type"][$i]  . "<br />";
  echo "File Size: " . ($_FILES["images"]["size"][$i]  / 1024) . " Kb<br />"; 

   if (file_exists("public/images/".$_FILES["images"]["name"][$i] ))
  {
   echo "<b>".$_FILES["images"]["name"][$i]  . " already exists. </b>";
   }
   else
  {
    move_uploaded_file($_FILES["images"]["tmp_name"][$i] ,"public/images/".             $_FILES["images"]["name"][$i] );
    echo "Stored in: " . "public/images/" . $_FILES["images"]["name"][$i] ."<br />";
   ?>
   Uploaded File:<br>
   <img src="public/images/<?php echo $_FILES["images"]["name"][$i] ; ?>" alt="Image path    Invalid" >
  <?php
  }
  }
  }else
 {
  echo "Invalid file detail ::<br> file type ::".$_FILES["images"]["type"][$i] ." ,    file    size::: ".$_FILES["images"]["size"][$i] ;
  } 
}
   }?>

for loop..foreach を使用してアップロードされた画像にエラーが表示されました

于 2013-09-04T15:48:21.997 に答える
1

PHP での複数ファイルのアップロードの例を次に示します。

https://github.com/hemantrai88/html5-php_multi-file-upload

于 2013-12-23T08:24:27.740 に答える