Home Backend Development PHP Tutorial ThinkPHP implements attachment upload function_php example

ThinkPHP implements attachment upload function_php example

May 23, 2018 pm 02:12 PM
php thinkphp Function

This article mainly introduces the attachment upload function of ThinkPHP in detail, and uploads pictures, documents, videos and other files. It has certain reference value. Interested friends can refer to it

Just now Learn how to use the ThinkPHP framework to simply upload attachments (pictures, documents, videos, etc.)

First you need to understand several elements in Upload.class.php (ThinkPHP/Library/Think/Upload, class,php) in the tp framework Functions

1:getError() Get upload error information

2:uploadOne() Upload a single file

3:upload() Upload multiple files

4:rootPath Upload file save root path

The code is as follows

Front desk:

1

2

3

4

<td>商品图片</td>

<td>

 <input type="file" name="goods_pic" />

</td>

Copy after login

Controller

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

//处理上传附件图片

   

  //判断是否上传 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;];

  }

Copy after login

If you have other requirements for uploading attachments, you can refer to the upload configuration config parameters in the parent class Upload.class.php to select the required parameters. Just add the above code $ Just rewrite it in cfg=array()!

The parent class upload configuration parameters are as follows (can be rewritten according to your own requirements):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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(), // 上传驱动配置

 );

Copy after login

The above is the entire content of this article, I hope it will be helpful to everyone learning helps.


Related recommendations:

Introduction to serialization and json usage in php_javascript skills

PHP The difference between abstract and interface_javascript skills

What is the difference between php and js_basic knowledge

The above is the detailed content of ThinkPHP implements attachment upload function_php example. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1677
14
PHP Tutorial
1280
29
C# Tutorial
1257
24
What happens if session_start() is called multiple times? What happens if session_start() is called multiple times? Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

What is the significance of the session_start() function? What is the significance of the session_start() function? May 03, 2025 am 12:18 AM

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

How to use MySQL functions for data processing and calculation How to use MySQL functions for data processing and calculation Apr 29, 2025 pm 04:21 PM

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

H5: Key Improvements in HTML5 H5: Key Improvements in HTML5 Apr 28, 2025 am 12:26 AM

HTML5 brings five key improvements: 1. Semantic tags improve code clarity and SEO effects; 2. Multimedia support simplifies video and audio embedding; 3. Form enhancement simplifies verification; 4. Offline and local storage improves user experience; 5. Canvas and graphics functions enhance the visualization of web pages.

Composer: The Package Manager for PHP Developers Composer: The Package Manager for PHP Developers May 02, 2025 am 12:23 AM

Composer is a dependency management tool for PHP, and manages project dependencies through composer.json file. 1) parse composer.json to obtain dependency information; 2) parse dependencies to form a dependency tree; 3) download and install dependencies from Packagist to the vendor directory; 4) generate composer.lock file to lock the dependency version to ensure team consistency and project maintainability.

How to use type traits in C? How to use type traits in C? Apr 28, 2025 pm 08:18 PM

typetraits are used in C for compile-time type checking and operation, improving code flexibility and type safety. 1) Type judgment is performed through std::is_integral and std::is_floating_point to achieve efficient type checking and output. 2) Use std::is_trivially_copyable to optimize vector copy and select different copy strategies according to the type. 3) Pay attention to compile-time decision-making, type safety, performance optimization and code complexity. Reasonable use of typetraits can greatly improve code quality.

How to configure the character set and collation rules of MySQL How to configure the character set and collation rules of MySQL Apr 29, 2025 pm 04:06 PM

Methods for configuring character sets and collations in MySQL include: 1. Setting the character sets and collations at the server level: SETNAMES'utf8'; SETCHARACTERSETutf8; SETCOLLATION_CONNECTION='utf8_general_ci'; 2. Create a database that uses specific character sets and collations: CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci; 3. Specify character sets and collations when creating a table: CREATETABLEexample_table(idINT

See all articles