PHP implementiert mehrere Bild-Upload- und Einzelbild-Upload-Funktionen. PHP-Beispiele

jacklove
Freigeben: 2023-04-01 18:36:02
Original
2419 Leute haben es durchsucht

In diesem Artikel werden die Funktionen zum Hochladen mehrerer Bilder und einzelner Bilder anhand von Beispielcode vorgestellt. Der Code ist einfach und leicht zu verstehen, sehr gut und hat einen gewissen Referenzwert it

Der folgende Code stellt die Funktion zum Hochladen einzelner Bilder und mehrerer Bilder in PHP vor. Der spezifische Code lautet wie folgt:

/**
   * 多选图片上传
   * 
   * @version v1.0.0
   * @author 
   * @since  17-11-24
   */
  public function upload()
  {
    $file = $_FILES['file'];
    empty($file) && $this->response(201,'请选择要上传的文件');
    unset($_FILES['file']);
    $count = count($file['name']);       // 上传图片的数量
    $count > 10 && $this->response(203,'批量上传图片一次最多上传10张图片');
    $tmpFile  = [];
    $returnData = [];
    for($i=0;$i<$count;$i++)          // 循环处理图片
    {
      $tmpFile[&#39;name&#39;]   = $file[&#39;name&#39;][$i];
      $tmpFile[&#39;type&#39;]   = $file[&#39;type&#39;][$i];
      $tmpFile[&#39;tmp_name&#39;] = $file[&#39;tmp_name&#39;][$i];
      $tmpFile[&#39;error&#39;]  = $file[&#39;error&#39;][$i];
      $tmpFile[&#39;size&#39;]   = $file[&#39;size&#39;][$i];
      $_FILES[&#39;file_&#39;.$i] = $tmpFile;
      // 判断是否是允许的图片类型
      $ext = substr($_FILES[&#39;file_&#39;.$i][&#39;name&#39;],strrpos($_FILES[&#39;file_&#39;.$i][&#39;name&#39;],&#39;.&#39;)+1); // 上传文件后缀
      stripos(&#39;jpeg|png|bmp|jpg&#39;,$ext) === FALSE && $this->response(210,&#39;图片格式支持 JPEG、PNG、BMP格式图片&#39;);
      $data = $this->uploadOne(&#39;file_&#39;.$i,&#39;jpeg|png|bmp|jpg&#39;);
      if($data[&#39;status&#39;] == 1)
      {
        $this->response(500,&#39;第&#39;.($i+1).&#39;张图片上传失败,&#39;.$data[&#39;msg&#39;]);
      }
      $returnData[$i][&#39;url&#39;]   = $data[&#39;url&#39;];   // 图片路径
      $returnData[$i][&#39;old_name&#39;] = substr($tmpFile[&#39;name&#39;],0,strrpos($tmpFile[&#39;name&#39;], &#39;.&#39;)); // 图片原名称
    }
    $this->response(200,&#39;successful&#39;,$returnData);
  }
   /**
   * 单文件上传
   * @version v1.0.0
   * @author  
   * @since  17-11-24
   * @param  $file   上传表单name名称
   * @param  $type   上传类型
   * @param  $maxSize 上传文件限制大小(默认 10M)
   */
  private function uploadOne($filename = &#39;file&#39;,$type = &#39;jpeg|png|bmp|jpg&#39;,$maxSize = 10240)
  {
    list($width,$height)    = getimagesize($_FILES[$filename][&#39;tmp_name&#39;]); // 获取图片的宽和高
    list($usec, $sec) = explode(" ", microtime());
    $time = $sec.substr($usec,2);                         // 秒数+微秒数
    $ext = substr($_FILES[$filename][&#39;name&#39;],strrpos($_FILES[$filename][&#39;name&#39;],&#39;.&#39;)+1); // 上传文件后缀
    $name   = $time.&#39;-&#39;.$width.&#39;*&#39;.$height.&#39;.&#39;.$ext;
    $filePath = $_FILES[$filename][&#39;tmp_name&#39;];
    $type   = $_FILES[$filename][&#39;type&#39;];
    $this->load->library(&#39;Qiniu&#39;);
    $returnData[&#39;url&#39;] = $this->qiniu->upload($name,$filePath,$type);
    $returnData[&#39;status&#39;] = 0;
    return $returnData;
  }
Nach dem Login kopieren

Zusammenfassung

Das Obige ist die vom Editor eingeführte PHP-Implementierung zur Implementierung mehrerer Bild-Upload- und Einzelbild-Upload-Funktionen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht. Der Herausgeber wird allen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Artikel, die Sie interessieren könnten:

Detaillierter PHP-SMS-Verifizierungscode-Implementierungsprozess, PHP-Beispiel

PHP ermittelt 0 und leere PHP-Instanzen durch verschiedene Funktionen

PHP erkennt umgedrehte Bilder, die mit iPhone-PHP-Tipps aufgenommen wurden

Das obige ist der detaillierte Inhalt vonPHP implementiert mehrere Bild-Upload- und Einzelbild-Upload-Funktionen. PHP-Beispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage