ftp配置 Laravel上传文件到ftp服务器
2023-09-11 14:19:38 时间
listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_file=/var/log/vsftpd.log chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=ftp rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO utf8_filesystem=YES use_localtime=YES connect_timeout=60 accept_timeout=60 max_clients=8 max_per_ip=8 #主动模式 port_enable=YES connect_from_port_20=NO ftp_data_port=21 pasv_promiscuous=YES #被动模式 #pasv_enable=YES #pasv_min_port=30000 #pasv_max_port=30001
用主动模式的时候,laravel默认就可以上传文件了。
D:\phpStudy\WWW\xxx\config\filesystems.php
'ftp' => [ 'driver' => 'ftp', 'host' => '52.xx.xx.239', 'username' => 'xx', 'password' => 'xx', 'root' => '/xx/xx/data', 'passive' => false, 'timeout' => 100, ],
上传文件代码:
public function multiUpload($imageArray, $path = '', $prefix = '') { set_time_limit(800); if (!$imageArray || count($imageArray) > 50) { return false; } $new_image_array = []; foreach ($imageArray as $key => $value) { $mime_type = $value->getClientOriginalExtension(); $save_name = $prefix . str_random(6) . '.' . $mime_type; // $new_image_array['image'][] = $value->storeAs($path, $save_name, 'ftp'); $new_image_array['image'][] = 'storage/' . $value->storeAs($path . '/image', $save_name, 'public'); } return $new_image_array; }
或者下面的 形式ftp存文件
//测试ftp上传 Storage::disk('ftp')->put('data/1.txt', "ftp123456222"); $exists = Storage::disk('ftp')->exists('data/12.txt'); var_dump($exists);
或下面这个 上传也挺好的
if(!empty($request->file())){ //判断是否有文件传入 $file = $request->file($fileName); //获取到请求文件 if(!empty($file)){ //判断文件是否存在 $fileExt = $file->getClientOriginalExtension(); //获取文件后缀名 $realPath = $file->getRealPath(); //获取文件真实路径 $filename = date('YmdHis') . uniqid() . '.' . $fileExt; //按照一定格式取名 $filepath = $fileName.'/'; //个人要求的路径 $bool = Storage::disk('ftp')->put('/data/'.$filepath.$filename, file_get_contents($realPath)); //使用Storage传文件至ftp $fileServer = $server; //ftp的ip地址 $fileUrl = $fileServer.$filepath.$filename; //文件的url地址 if($bool){ return $fileUrl; //返回文件url,可用于传入数据库 } else{ return '500'; } } } return null; }
转 : https://blog.csdn.net/zhezhebie/article/details/80679764
Laravel移动本地文件到ftp服务器
从本地移动文件到远程服务器: (laravel 5.7 才支持这个功能)
Storage::disk('ftp') ->writeStream( 'remote-file.zip', Storage::disk('local')->readStream('local-file.zip') );
To response-streams:
return response()->stream( function() { fpassthru( Storage::disk('s3')->readStream('file.zip') ); });
转 : https://blog.csdn.net/zhezhebie/article/details/85763217
相关文章
- 移动端HTML5实现打电话,发短信,发邮件,文件上传
- 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]解决方法
- 处理GitHub上的不允许100MB大文件上传
- 配置php.ini实现PHP文件上传功能
- Spring MVC文件上传教程 commons-io/commons-uploadfile
- c++--------获取某个路径下所有文件的文件名,读写TXT文件到新的文件
- php/nginx/axios: 文件上传: 配置最长执行时间等相关项 (php8.1.1 / nginx 1.18.0 / vue@3.2.26 )
- 一次运气很好的文件上传
- spring boot:实现图片文件上传并生成缩略图(spring boot 2.3.1)
- 教你如何利用xml格式的sitemap文件做好SEO
- Go gin文件上传
- 使用springMVC实现文件上传和下载之环境配置与上传
- jquery 文件上传插件Uploadify 初探
- 使用springMVC实现文件上传和下载之环境配置与上传
- 如何通过云存储实现大文件的断点下载和上传
- Java操作,springMVC上传的文件
- WEB漏洞攻防 - 文件上传漏洞 - CTF比赛类应用场景 - [RoarCTF 2019]Simple Upload
- 使用FileZilla向linux系统上传文件
- JavaScript实现拖拽预览,AJAX小文件上传
- 爬虫日记(54): Flask的上传文件
- 【工具】JAVA 在单元读取文件并比较
- JavaWeb项目实现文件上传动态显示进度
- C/C++ 按行读取文件
- 【springboot】15、文件上传