ftp配置 Laravel上传文件到ftp服务器
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=
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=
accept_timeout=
max_clients=
max_per_ip= #主动模式
port_enable=YES
connect_from_port_20=NO
ftp_data_port=
pasv_promiscuous=YES
#被动模式
#pasv_enable=YES
#pasv_min_port=
#pasv_max_port=
用主动模式的时候,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
ftp配置 Laravel上传文件到ftp服务器的更多相关文章
- asp.net 服务器 上传文件到 FTP服务器
private string ftpServerIP = "服务器ip";//服务器ip private string ftpUserID = "ftp的用户名" ...
- .Net 上传文件到ftp服务器和下载文件
突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然 ...
- java 上传文件到 ftp 服务器
1. java 上传文件到 ftp 服务器 package com.taotao.common.utils; import java.io.File; import java.io.FileInpu ...
- java 上传文件到FTP(centos中的ftp服务)
ftp服务器系统:centos7 提供ftp的服务:vsftpd pom.xml 依赖 <dependency> <groupId>commons-net</groupI ...
- JAVA上传文件到FTP上
添加maven <!-- https://mvnrepository.com/artifact/commons-net/commons-net --> <dependency> ...
- FTP主动模式上传文件时返回"ftp: accept: Resource temporarily unavailable"
FTP主动模式上传文件时返回 Passive mode off ftp: accept: Resource temporarily unavailable 这个问题要从ftp的2种模式说起 PORT ...
- Laravel 上传文件处理
文件上传 获取上传的文件 可以使用 Illuminate\Http\Request 实例提供的 file 方法或者动态属性来访问上传文件, file 方法返回 Illuminate\Http\Uplo ...
- springMVC:为MultipartFilte配置了上传文件解析器,报错或不能使用
一.问题描述为支持restful风格请求,并且应对可能上传文件的情况,需要在配置hiddenHttpMethodFilter过滤器之前配置MultipartFilter.目的是让MultipartFi ...
- C# 上传文件至远程服务器
C# 上传文件至远程服务器(适用于桌面程序及web程序) 2009-12-30 19:21:28| 分类: C#|举报|字号 订阅 最近几天在玩桌面程序,在这里跟大家共享下如何将本地文件上传 ...
随机推荐
- 【JUC】7.CountDownLatch
Latch:门闩.一种线程通信的方式:当程序不涉及同步,仅仅需要线程通信的时候,使用synchronize或者lock的线程通信等待唤醒机制,就显得太重了: 这时候,可以考虑使用信号量类:CountD ...
- go工程组织规范
go编码以workspace形式管理,一个workspace包含所有的Go编码,包含多个版本控制仓库(例如使用git管理的多个仓库).每个仓库包含多个包package,每个package是一个单独的路 ...
- AD如何改变PCB文件的黑色背景
第一步:打开AD软件,新建一个PCB文件. 2 第二步:在黑色区域随便画一个封闭的多边形——注意一定要是封闭的! 3 第三步:点击“Ctrl + A”快捷键将PCB整个文件选中. 4 第四 ...
- MySQL数据库开发规范-EC
最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是 ...
- 个性化排序算法实践(四)——GBDT+LR
本质上GBDT+LR是一种具有stacking思想的二分类器模型,所以可以用来解决二分类问题.这个方法出自于Facebook 2014年的论文 Practical Lessons from Predi ...
- 布隆过滤器(Bloom Filter)-学习笔记-Java版代码(挖坑ing)
布隆过滤器解决"面试题: 如何建立一个十亿级别的哈希表,限制内存空间" "如何快速查询一个10亿大小的集合中的元素是否存在" 如题 布隆过滤器确实很神奇, 简单 ...
- c++中结构体的使用
文章链接: 结构体定义: struct Books { ]; ]; ]; int book_id; } book; 访问结构体成员: #include <iostream> #includ ...
- JDK源码那些事儿之SynchronousQueue下篇
之前一篇文章已经讲解了阻塞队列SynchronousQueue的大部分内容,其中默认的非公平策略还未说明,本文就紧接上文继续讲解其中的非公平策略下的内部实现,顺便简单说明其涉及到的线程池部分的使用 前 ...
- python读取excel的内容
import csvimport xlrdimport xlwt def handler_excel(filename=r'd:\\wu.xlsx'): # 打开文件 workbook = xlrd. ...
- Oracle 新增数据 insert into整理
一.普遍的方法:insert into 表名(id,name,age,status,字段N) values('id','name','age','status','字段N'); --建议用这个 ...