>  기사  >  백엔드 개발  >  关于一次下传多个图片的插件有没有

关于一次下传多个图片的插件有没有

WBOY
WBOY원래의
2016-06-13 12:51:48853검색

关于一次上传多个图片的插件有没有?
像discuz发帖那样,一次上传多个图片,然后将所有上传的图片路径插入到编辑器中。

有没有?


------解决方案--------------------
找个JS批量上传插件,主要是美观而已,技术角度还是个表单。

从http协议实现角度,下面的php代码是一个活生生的协议细节:

<?php  <br />
function do_post_request($url, $postdata, $files = null) <br>
{ <br>
    $data = ""; <br>
    $boundary = "---------------------".substr(md5(rand(0,32000)), 0, 10); <br>
       <br>
    //Collect Postdata <br>
    foreach($postdata as $key => $val) <br>
    { <br>
        $data .= "--$boundary\n"; <br>
        $data .= "Content-Disposition: form-data; name=\"".$key."\"\n\n".$val."\n"; <br>
    } <br>
     <br>
    $data .= "--$boundary\n"; <br>
    <br>
    //Collect Filedata <br>
    foreach($files as $key => $file) <br>
    { <br>
        $fileContents = file_get_contents($file['tmp_name']); <br>
        <br>
        $data .= "Content-Disposition: form-data; name=\"{$key}\"; filename=\"{$file['name']}\"\n"; <br>
        $data .= "Content-Type: image/jpeg\n"; <br>
        $data .= "Content-Transfer-Encoding: binary\n\n"; <br>
        $data .= $fileContents."\n"; <br>
        $data .= "--$boundary--\n"; <br>
    } <br>
  <br>
    $params = array('http' => array( <br>
           'method' => 'POST', <br>
           'header' => 'Content-Type: multipart/form-data; boundary='.$boundary, <br>
           'content' => $data <br>
        )); <br>
<br>
   $ctx = stream_context_create($params); <br>
   $fp = fopen($url, 'rb', false, $ctx); <br>
   <br>
   if (!$fp) { <br>
      throw new Exception("Problem with $url, $php_errormsg"); <br>
   } <br>
  <br>
   $response = @stream_get_contents($fp); <br>
   if ($response === false) { <br>
      throw new Exception("Problem reading data from $url, $php_errormsg"); <br>
   } <br>
   return $response; <br>
} <br>
<br>
//set data (in this example from post) <br>
<br>
//sample data <br>
$postdata = array( <br>
    'name' => $_POST['name'], <br>
    'age' => $_POST['age'], <br>
    'sex' => $_POST['sex']  <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.