ccentos7服务器 ========================

一、安装vsftpd及ftp命令

yum install vsftpd -y

yum install ftp -y

二、vsftpd服务器的配置文件

实现在开启防火墙和SELinux情况下,实现匿名用户的登录,可以上传下载,可以创建目录,创建权限掩码为022,可以删除文件,最大上传速度为100kbit/s。

vsftpd服务器的主要配置文件是/etc/vsftpd/vsftpd.conf。

1.服务器端设置

1.1修改配置文件开放匿名用户上传、下载及其他权限,

anonymous_enable=yes //允许匿名用户登录

anon_upload_enable=yes   //允许匿名用户上传

write_enable=yes //赋予写权限

anon_mkdir_write_enable=yes   //允许匿名用户新建文件夹

anon_other_write_enable=yes  //匿名用户拥有除了上传和新建目录之外的其他权限

然后重启服务

systemctl restart vsftpd.service

1.2修改上传目录的权限

为了让匿名用户实现上传,必须开放目录的写权限,以anonymous用户名登录后,相当于ftp用户的身份,ftp的登录目录为/var/ftp,开放这个目录的写权限:

chmod 777 /var/ftp,但是再重启服务并在服务器上用ftp登录时会出错,这是因为/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的。解决方法为在/var/ftp下再建一个目录,权限是777就可以了:

mkdir /var/ftp/pub

chmod 777 /var/ftp/pub

添加ftp用户名和密码

/usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin wolfyftp
passwd wolfyftp  

查看SElinux策略内ftp相关权限

getsebool -a | grep ftp

打开ftp权限,可以代码远程访问

setsebool allow_ftpd_full_access 1

然后重启服务

systemctl restart vsftpd.service

2.测试

ftp:192.168.163.137

浏览器中访问:

php===============================

if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
$ftp_server = "192.168.1.105";
$ftp_user_name = "lesley";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = $_FILES['uploadfile']['tmp_name'];
$remote_file = '/test/'.$_FILES['uploadfile']['name'];
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件:".$_FILES['uploadfile']['name']."上传成功\n";
} else {
echo "上传失败\n";
}
ftp_close($conn_id);
}

对应的前台页面代码:

<form action="uploadfile.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="uploadfile" />
<input type="submit" name="submit" value="submit" />
</form>

运行后确实成功。

php - ftp 上传文件到远程服务器的更多相关文章

  1. C# 上传文件至远程服务器

    C# 上传文件至远程服务器(适用于桌面程序及web程序) 2009-12-30 19:21:28|  分类: C#|举报|字号 订阅     最近几天在玩桌面程序,在这里跟大家共享下如何将本地文件上传 ...

  2. ASP.NET上传文件到远程服务器(HttpWebRequest)

    /// <summary> /// 文件上传至远程服务器 /// </summary> /// <param name="url">远程服务地址 ...

  3. 使用windows桌面ftp上传文件到linux服务器

    首先在linux服务器上安装ftp [root@host2 test]#yum -y install ftp vsftpd [root@host2 test]#service vsftpd start ...

  4. 安装SSH2拓展 PHP上传文件到远程服务器

    情景:客户端上传图片到服务器A,服务器A同步上传至另外一个静态资源服务器B 环境:php7 linux(ubuntu) 安装php的ssh2扩展 -dev sudo apt-get install p ...

  5. scp上传文件到远程服务器

    scp -P 22 E:/download/2028792_www.yeves.cn_nginx/cloud.pem root@ip:/usr/local/src

  6. FTP上传文件到服务器

    一.初始化上传控件. 1.我们这里用dropzone.js作为上传控件,下载地址http://www.dropzonejs.com/ 2.这里我们使用一个div元素作为dropzone载体. < ...

  7. C# FTP上传文件至服务器代码

    C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo ...

  8. PHP使用FTP上传文件到服务器(实战篇)

    我们在做开发的过程中,上传文件肯定是避免不了的,平常我们的程序和上传的文件都在一个服务器上,我们也可以使用第三方sdk上传文件,但是文件在第三方服务器上.现在我们使用PHP的ftp功能把文件上传到我们 ...

  9. C# FTP上传文件时出现"应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。"的错误

    FTP上传文件时出现"应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址."的错误 解决方法是在原代码上增加这句话 reqFTP.UsePassive = f ...

随机推荐

  1. [转]理解Linux的性能

    来源:http://www.linuxfly.org/post/114/ [转]理解Linux的性能       项目中常遇到需要对目前运行的系统进行效率分析,或碰到客户咨询如何优化系统的效率问题.更 ...

  2. Android笔记(二十一) Android中的Adapter

    Android中有一些View是包含多个元素的,例如ListView,GridView等,为了给View的每一个元素都设置数据,就需要Adapter了. 常用的Adapter包括ArrayAdapte ...

  3. JS获取当前月份的最后一天

    <button onclick="function_name()">获取当前月份的最后一天</button> <script type="t ...

  4. 关于MQ的几件小事(一)消息队列的用途、优缺点、技术选型

    1.为什么使用消息队列? (1)解耦:可以在多个系统之间进行解耦,将原本通过网络之间的调用的方式改为使用MQ进行消息的异步通讯,只要该操作不是需要同步的,就可以改为使用MQ进行不同系统之间的联系,这样 ...

  5. linux网络编程之posix共享内存

    今天继续研究posix IPC对象,这次主要是学习一下posix共享内存的使用方法,下面开始: 下面编写程序来创建一个共享内存: 编译运行: 那posix的共享内存存放在哪里呢?上节中学的posix的 ...

  6. Caused by: java.lang.ClassNotFoundException: org.fusesource.jansi.WindowsAnsiOutputStream

    08:23:18,995 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate append ...

  7. Kafka 基本知识分享

    目录 一.基本术语 二.Kafka 基本命令 三.易混淆概念 四.Kafka的特性 五.Kafka的使用场景 六.Kakfa 的设计思想 七.Kafka 配置文件设置 八.新消费者 九.Kafka该怎 ...

  8. XSLT格式

    XSL 指扩展样式表语言(EXtensible Stylesheet Language). XSL - 不仅仅是样式表语言,包括三部分: XSLT :一种用于转换 XML 文档的语言. XPath : ...

  9. java中的finally用法总结

    不管 try 语句块正常结束还是异常结束,finally 语句块是保证要执行的.如果 try 语句块正常结束,那么在 try 语句块中的语句都执行完之后,再执行 finally 语句块.如果 try ...

  10. Codeforces Round #533 (Div. 2) D. Kilani and the Game(BFS)

    题目链接:https://codeforces.com/contest/1105/problem/D 题意:p 个人在 n * m 的地图上扩展自己的城堡范围,每次最多走 a_i 步(曼哈顿距离),按 ...