Heim  >  Artikel  >  Backend-Entwicklung  >  ThinkPHP implementiert Beispiel für die Anhang-Upload-Funktion_php

ThinkPHP implementiert Beispiel für die Anhang-Upload-Funktion_php

墨辰丷
墨辰丷Original
2018-05-23 14:12:171381Durchsuche

In diesem Artikel wird hauptsächlich die Funktion zum Hochladen von Anhängen von ThinkPHP zum Hochladen von Bildern, Dokumenten, Videos und anderen Dateien vorgestellt. Sie hat einen gewissen Referenzwert.

Jetzt lernen Sie, wie man sie verwendet ThinkPHP-Framework zum einfachen Hochladen von Anhängen (Bilder, Dokumente, Videos usw.)

Zunächst müssen Sie ein paar Dinge in Upload.class.php verstehen (ThinkPHP/Library/Think/Upload, Klasse, php) im tp-Framework Funktionen

1:getError() Upload-Fehlerinformationen abrufen

2:uploadOne() Eine einzelne Datei hochladen

3:upload() Mehrere hochladen Dateien

4:rootPath Datei hochladen, Stammpfad speichern

Der Code lautet wie folgt

Rezeption:

<td>商品图片</td>
<td>
 <input type="file" name="goods_pic" />
</td>

Controller

//处理上传附件图片
  
  //判断是否上传 4:没有上传附件
  if ($_FILES[&#39;goods_pic&#39;][&#39;error&#39;]<4) {
   
   //上传
   $cfg = array(
   &#39;rootPath&#39; => &#39;./Public/uploads/&#39;, //保存根路径
   );
   $upload = new \Think\Upload($cfg); //完全限定名称 实例化对象 

   //uploadOne()方法执行成功后会把附件(在服务器上)的名字和路径等相关信息返回
   $file_info=$upload->uploadOne($_FILES[&#39;goods_pic&#39;]);
   
   //把上传好的附件存到数据库 拼接路径
   //$upload->rootPath通过父类upload.class.php中的__get()方法获取配置中的rootPath
   $_POST[&#39;goods_big_img&#39;]=$upload->rootPath.$file_info[&#39;savepath&#39;].$file_info[&#39;savename&#39;];
  }

Wenn Sie andere Anforderungen zum Hochladen von Anhängen haben, können Sie sich auf die Konfigurationsparameter der Upload-Konfiguration in der übergeordneten Klasse Upload.class beziehen. php, um die erforderlichen Parameter auszuwählen. Fügen Sie einfach den obigen Code hinzu. Schreiben Sie ihn einfach in cfg=array() um!

Die Konfigurationsparameter für das Hochladen der übergeordneten Klasse lauten wie folgt (können entsprechend Ihren eigenen Anforderungen umgeschrieben werden):

private $config = array(
  &#39;mimes&#39;   => array(), //允许上传的文件MiMe类型
  &#39;maxSize&#39;  => 0, //上传的文件大小限制 (0-不做限制)
  &#39;exts&#39;   => array(), //允许上传的文件后缀
  &#39;autoSub&#39;  => true, //自动子目录保存文件
  &#39;subName&#39;  => array(&#39;date&#39;, &#39;Y-m-d&#39;), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
  &#39;rootPath&#39;  => &#39;./Uploads/&#39;, //保存根路径
  &#39;savePath&#39;  => &#39;&#39;, //保存路径
  &#39;saveName&#39;  => array(&#39;uniqid&#39;, &#39;&#39;), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
  &#39;saveExt&#39;  => &#39;&#39;, //文件保存后缀,空则使用原后缀
  &#39;replace&#39;  => false, //存在同名是否覆盖
  &#39;hash&#39;   => true, //是否生成hash编码
  &#39;callback&#39;  => false, //检测文件是否存在回调,如果存在返回文件信息数组
  &#39;driver&#39;  => &#39;&#39;, // 文件上传驱动
  &#39;driverConfig&#39; => array(), // 上传驱动配置
 );

Das Obige ist das Ganze Ich hoffe, dass der Inhalt dieses Artikels allen beim Lernen hilft.


Verwandte Empfehlungen:

Einführung in die Serialisierung und JSON-Nutzung in php_javascript-Kenntnissen

PHPDer Unterschied zwischen abstrakten und Interface_Javascript-Kenntnissen

Was ist der Unterschied zwischen PHP und js_Grundkenntnisse

Das obige ist der detaillierte Inhalt vonThinkPHP implementiert Beispiel für die Anhang-Upload-Funktion_php. 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