Heim  >  Artikel  >  Backend-Entwicklung  >  PHP3.2 implementiert mehrere Datei-Uploads

PHP3.2 implementiert mehrere Datei-Uploads

小云云
小云云Original
2018-03-16 14:55:311642Durchsuche

Dieser Artikel zeigt Ihnen hauptsächlich Beispiele für die Implementierung mehrerer Datei-Uploads in PHP3.2. Ich hoffe, er kann Ihnen helfen.

public function upload(){
	    $upload = new \Think\Upload();// 实例化上传类
	    $upload->maxSize   =     3145728 ;// 设置附件上传大小
	    $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
	    $upload->rootPath  =      './Uploads/'; // 设置附件上传根目录
	    $upload->savePath  =      'slider/'; // 设置附件上传(子)目录
	    // 上传单个文件 
	    $info   =   $upload->uploadOne($_FILES['files']);
	    if(!$info) {// 上传错误提示错误信息
	        $this->error($upload->getError());
	    }else{// 上传成功 获取上传文件信息
	        $url= $info['savepath'].$info['savename'];
	    }
	    return $url;
}

Dies ist der Quellcode beim Hochladen einer einzelnen Datei, in dem $info = $upload->uploadOne($_FILES['files']); Diese Position beschränkt den Datei-Upload auf eine einzelne Datei

Es gibt auch das Problem der Front-End-Eingabeauswahl

public function upload(){
	    $upload = new \Think\Upload();// 实例化上传类
	    $upload->maxSize   =     3145728 ;// 设置附件上传大小
	    $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
	    $upload->rootPath  =      './Uploads/'; // 设置附件上传根目录
	    $upload->savePath  =      'last/'; // 设置附件上传(子)目录
	    // 上传多个文件 
	    $info   =   $upload->upload();
		if(!$info) {// 上传错误提示错误信息
		    $this->error($upload->getError());
		}else{// 上传成功 获取上传文件信息
		    foreach($info as $file){
		        $url .= $file['savepath'].$file['savename'].',';
		    }
		}
	    return $url;
}

Dies ist eine Methode zum Hochladen mehrerer Dateien. Der Hauptunterschied ist $info = $upload->upload(. ); dieser Teil

und $url .= $file['savepath'].$file['savename'].','; Einschränkungen dieses Teils

Der Unterschied zwischen einzelnen Dateien und mehrere Dateien im Frontend sind ebenfalls sehr groß

Das ist der Unterschied zwischen mehreren Dateien

 <input type="file" name="files[]" multiple="">

Offizielle Erklärung

Wenn Sie mehrere Dateien hochladen müssen, müssen Sie Sie müssen nur das Formular ändern und

<input type=&#39;file&#39;  name=&#39;photo&#39;>

in

<input type=&#39;file&#39;  name=&#39;photo1&#39;>
<input type=&#39;file&#39;  name=&#39;photo2&#39;>
<input type=&#39;file&#39;  name=&#39;photo3&#39;>

oder

<input type=&#39;file&#39;  name=&#39;photo[]&#39;>
<input type=&#39;file&#39;  name=&#39;photo[]&#39;>
<input type=&#39;file&#39;  name=&#39;photo[]&#39;>

ändern. Beide Datei-Upload-Klassen des Multi-Attachment-Uploads System kann automatisch erkannt werden.

Beim Hochladen mehrerer Dateien

Es gibt ein weiteres Problem bei der Unterscheidung von 1, 2, 3. . . n Eingaben

//获取商品图片路径和详情图片路径
        $str = $this->upload();
        $count1 = count($_FILES[&#39;files1&#39;][&#39;name&#39;]);//获取商品图片上传个数
        $arr = explode(&#39;,&#39;,$str);
        $slider = &#39;&#39;;
        $detail = &#39;&#39;;
        foreach ($arr as $k=>$v){
            if($k+1<$count1){
                $slider .= $v.&#39;,&#39;;
            }else{
                $detail .= $v.&#39;,&#39;;
            }
        }
        $slider = rtrim($slider,&#39;,&#39;);
        $detail = rtrim($detail,&#39;,&#39;);

Verwandte Empfehlungen:

PHP-Datei-Upload-Klasse und PHP-gekapselte Freigabe mehrerer Datei-Upload-Klassen

1 Beispiel Analyse von PHP-Methoden zur Implementierung mehrerer Datei-Uploads

PHP-Beispiele für einzelne Dateien und mehrere Datei-Uploads_php-Beispiele

Das obige ist der detaillierte Inhalt vonPHP3.2 implementiert mehrere Datei-Uploads. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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