For developers using the ThinkPHP framework, it is a very common requirement to upload images, documents, etc. to the server in the project. Some commonly used upload methods are given below.
In the ThinkPHP framework, we can directly use the native PHP upload method. The specific code is as follows:
public function upload() { $file = request()->file(‘image’); // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads'); if($info){ // 成功上传后 获取上传信息 echo $info->getFilename(); }else{ // 上传失败获取错误信息 echo $file->getError(); } }
This method is relatively simple, just move the uploaded files directly to the public/uploads folder in the root directory of the server.
Alibaba Cloud OSS (Ojbect Storage Service) is a massive, secure, and low-cost cloud storage service that can be used to store various types of files, including pictures, videos, audios, documents, etc.
In ThinkPHP, we can use Alibaba Cloud OSS SDK to implement file upload. The specific code is as follows:
public function upload() { $file = request()->file(‘image’); // 实例化阿里云OSS $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); $bucket = 'your-bucket-name'; // 上传到阿里云OSS $object = 'uploads/'.$file->getFilename(); $file = $file->getInfo()['tmp_name']; $ossClient->uploadFile($bucket, $object, $file); }
This method can store files more securely and upload files to the specified Bucket. Inside.
Qiniu Cloud Storage is a cloud service platform that provides data storage, transmission, and processing capabilities. It can also be used to store various types of data. document.
In ThinkPHP, we can use Qiniu Cloud SDK to implement file upload. The specific code is as follows:
public function upload() { $file = request()->file(‘image’); // 实例化七牛云 $auth = new Auth($accessKey, $secretKey); $token = $auth->uploadToken($bucket); $uploadMgr = new UploadManager(); // 上传到七牛云 $key = 'uploads/'.$file->getFilename(); $filePath = $file->getInfo()['tmp_name']; list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath); }
This method can also store files more securely, and can customize upload strategies and upload callbacks. function.
Summary:
The above introduces three commonly used file upload methods. Use the native PHP upload method to directly upload files to the server, while using Alibaba Cloud OSS and Qiniu Cloud Storage can Save files more securely and support more customized needs. Developers can choose the appropriate upload method according to their specific needs.
The above is the detailed content of How to upload thinkphp to server. For more information, please follow other related articles on the PHP Chinese website!