Home >Backend Development >PHP Tutorial >Reprint-Sharing of ThinkPHP file upload class_PHP tutorial
The upload class uses the Net.UpdateFile class in the ORG class library package. The latest version of the upload class includes the following functions (some functions need to be combined with other class libraries in the ThinkPHP system):
1. Basic upload function
2. Support batch upload
3. Support generating image thumbnails
4. Custom parameter upload
5. Upload detection (including size, suffix and type)
6. Support upload type, attachment size, upload path definition
7. Support hash or date subdirectory saving of uploaded files
8. Upload images Security detection
9. Support naming rules for uploaded files
10. Support Hash verification of uploaded files
No special processing is required to use the upload function in ThinkPHP . For example, here is a form submission with attachment upload:
The code is as follows | Copy code | ||||
|
Note Enctype="multipart/form-data" must be added to the Form tag of the form before the file can be uploaded. Because the form is submitted to the upload operation method of the current module, we can add the following upload method in the module class:
The code is as follows | Copy code | ||||
Public function upload(){
|
The code is as follows | Copy code |
import(“ORG.Net .UploadFile”);$upload = new UploadFile(); // Instantiate the upload class |
After instantiating the upload class, you can set some upload attributes (parameters). The supported attributes are:
maxSize: The maximum file size for file upload (in bytes) Unit) Default is -1, no size limit
savePath: File saving path, if left blank, the path defined by the UPLOAD_PATH constant will be taken
saveRule: Save rule for uploaded files, must be a without any The function name of the parameter, for example, can be time, uniqid com_create_guid, etc., but it must be able to ensure that the generated file name is unique. The default is uniqid
hashType: Hash verification method for uploaded files, the default is md5_file
autoCheck: whether to automatically detect attachments, the default is automatic detection
uploadReplace: whether a file with the same name is overwritten
allowExts: file suffix allowed to be uploaded (leave blank to not limit), Use array settings, the default is an empty array
allowTypes: File types allowed to be uploaded (leave blank to not limit), use array settings, the default is an empty array
thumb: Whether image files need to be uploaded Perform thumbnail processing, the default is false
thumbMaxWidth: The maximum width of thumbnails, multiples are separated by commas
thumbMaxHeight: The maximum height of thumbnails, multiples are separated by commas
thumbPrefix: The file prefix of the thumbnail, the default is thumb_ (If you set multiple thumbnail sizes, please set multiple prefixes here)
thumbSuffix: The file suffix of the thumbnail, the default is empty (If you set multiple thumbnail sizes, please set multiple suffixes here)
thumbPath: The saving path of the thumbnail. If left blank, take the file upload directory itself
thumbFile: Specify the file name of the thumbnail
thumbRemoveOrigin: whether to delete the original image after generating the thumbnail
autoSub: whether to use a subdirectory to save the uploaded file
subType: subdirectory creation method, The default is hash, which can be set to hash or date
dateFormat: Specify the date format when the subdirectory mode is date
hashLevel: The level at which the subdirectory is saved, the default is one level
The above attributes can be set directly, for example:
代码如下 | 复制代码 |
$upload->thumb = true $upload->thumbMaxWidth = “50,200″ $upload->thumbMaxHeight = “50,200″ |
The function of generating thumbnails requires the support of the Image class.
After setting the upload parameters, you can call the upload method of the UploadFile class to upload the attachment. If it fails, return false and use the getErrorMsg method to obtain the error message; if the upload is successful, you can obtain it by calling the getUploadFileInfo method. List of successfully uploaded attachment information. Therefore, the return value of the getUploadFileInfo method is an array, each element of which is the uploaded attachment information. Each attachment information is an array that records the following information, including:
key: the name of the form for uploading the attachment
savepath: the save path of the uploaded file
name: The original name of the uploaded file
savename: the saved name of the uploaded file
size: the size of the uploaded file
type: the MIME type of the uploaded file
extension : The suffix type of the uploaded file
hash: The hash verification string of the uploaded file
After the file is successfully uploaded, you can use these attachment information to perform other data access operations, such as saving Either to the current data table or to a separate attachment data table.
If you need to upload multiple files, you only need to modify the form and add the
XML/HTML code
代码如下 | 复制代码 |
Change to
XML/HTML code
The code is as follows
|
Copy code
|
||||