PHP 上传多张图片

原型:

<form enctype="multipart/form-data" action="chessDoUpload.php" method="POST">
<fieldset>
<legend>图片上传</legend>
<span style="color:#F00">*上传图片格式.jpg       宽高像素:290*218</span><br/>
第一张图片<input name="userfile[]" type="file"><br>
第二张图片<input name="userfile[]" type="file"><br>
第三张图片<input name="userfile[]" type="file"><br>
第四张图片<input name="userfile[]" type="file"><br>
第五张图片<input name="userfile[]" type="file"><br><br/>
     
<input type="submit" value="上传图片" align="right">
</fieldset>
</form>

PHP 上传源码:

<?php
  for ($i=0;$i<count($_FILES['userfile']['tmp_name']);$i++)
  {
   //$upfile=$new_folder."/".$_FILES['userfile']['name'][$i];//此处路径换成你的
   $m=$i+1;
   $m="0".$m;
   $upfile="../images/new_photo/images/".$m.".jpg";
   if( file_exists($upfile) && is_file( $upfile ) ){
	  unlink( $upfile);//删除图片
	}
   if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$upfile)){
    echo "第".($i+1)."张图片上传成功<br>";
  	}else{
     echo "<span style='color:#F00'>"."第".($i+1)."张图片上传不了<br>";
    }
  }
?>


PHP中,上传多张图片通常涉及前端用户选择文件,然后通过AJAX将数据发送到服务器处理。下面是前端HTML表单和后端PHP处理的基本结构: **前端(HTML + JavaScript):** ```html <!-- 使用HTML5的multiple属性允许用户一次选择多张图片 --> <form id="uploadForm" enctype="multipart/form-data"> <input type="file" name="images[]" multiple> <button type="submit">上传</button> </form> <script> document.getElementById('uploadForm').addEventListener('submit', function(event) { event.preventDefault(); // 阻止表单默认提交行为 var formData = new FormData(this); uploadImages(formData); // 调用AJAX上传函数 }); function uploadImages(formData) { // AJAX请求,这里可以使用fetch、axios等库 fetch('/upload.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => console.log('响应:', data)) .catch(error => console.error('错误:', error)); } </script> ``` **后端(PHP):**假设你有一个名为`upload.php`的文件,它可能会像这样处理: ```php <?php // 设置文件路径 $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["images"]["name"][$i]); // 检查目录是否存在并创建如果需要 if (!is_dir($target_dir)) { mkdir($target_dir, 0777, true); } // 图片验证和保存 for ($i = 0; isset($_FILES["images"]["name"][$i]); $i++) { if ($_FILES["images"]["error"][$i] == UPLOAD_ERR_OK) { move_uploaded_file($_FILES["images"]["tmp_name"][$i], $target_file); } else { echo "Error uploading file"; } } // 返回成功信息或者其他操作结果 echo json_encode(['status' => 'success', 'message' => '图片上传']); ?> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值