用php如何把一些文件和图片上传到另一指定的服务器
一个实例:
首先,在自己台式机和笔记本上都开通了ftp,这个不会的同学可以网上查serv-u,相关教程肯定不少的。
然后在台式机本地做了个测试:
$ftp_server = "1921681100";
$ftp_user_name = "laohu";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = 'testtxt';
$remote_file = '/test/atxt';
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件移动成功\n";
} else {
echo "移动失败\n";
}
ftp_close($conn_id);
运行后:文件移动成功。
要的就是这个效果了,之后用台式机做程序服务器,上传附件时全用ftp方法上传至笔记本上,笔记本ip是105,相应代码如下:
if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
$ftp_server = "1921681105";
$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="uploadfilephp" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="uploadfile" />
<input type="submit" name="submit" value="submit" />
</form>
运行后确实成功。
需要注意:
在用ftp_put方法时,第四个参数传送模式,需要用FTP_BINARY(二进制模式),用FTP_ASCII(文本模式)时,能上传但无法显示,其他文件重命名、中文乱码解决、上传权限控制等,就不在此提及了。
假设你这两台服务器是linux的,将第三台服务器当做文件共享服务器,挂载到你这两个服务器上的同一个位置,然后PHP上传文件时,保存到这个挂载盘上,这样两台服务器的附件就共享了,并且同步,不管在哪套程序上上传的,都一样。
当然也可以不需要第三台服务器,将你这两台中的一台挂载到另一台上,也是一样的效果。
windows服务器原理相同,不在赘述。
只用两台服务器,举例说明:
你的两个服务器分别是1921681100和1921681200
在1921681100上,文件上传的目录设置为/var/tmp
将/var/tmp挂载到1921681200的/var/tmp上
(1)在1921681100上开启NFS服务并编辑/etc/exports文件:
chkconfig --level 35 nfs on
service nfs start
vi /etc/exports,加入:
/var/tmp 1921681200(rw,sync,no_root_squash)
(2)在1921681200上创建目录并挂载
mkdir /var/tmp
chmod 777 -R /var/tmp
mount 1921681100:/var/tmp /var/tmp
这样就可以了。
你不管在哪台服务器上上传,都将文件保存到/var/tmp里,两个服务器之间的文件实现共享了
ftp是
文件传输协议
,利用此协议可以在网络上传输文件。
把文件上传到服务器,一般都是使用ftp的方法,因为往往服务器都会提供ftp功能。具体操作需要安装一个方便操作的ftp客户端,例如TotalCommander就很好,在客户端里面建议一个会话,输入服务器的地址、用户名、密码,然后就可以连接服务器,连接成功后可以看见服务器上的文件,可以和本地的进行
双向传输
(可以上传和下载)。
如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp
服务器地址,然后输入用户名和密码。
php做的注册网站无法连接数据库。
安装好了吗?如果没有,建议找到数据库配置文件,并用您的数据库的信息替换数据库信息。
php如何搭建员工信息管理?
先划分需要哪些功能,然后建表,找框架,买服务器,安装环境
简单好用的Linux/Windows服务器管理面板是什么?
本人在Linux/Windows系统上都运行过服务器管理面板部署web开发和生产环境,从稳定性、安全性和简单易用的角度来做,我推荐如下:
一、Windows服务器系统推荐phpStudy服务器管理面板
1、phpStudy服务器管理面板介绍
支持最新php、mysql版本,在不同站点可以选择不同版本php和mysql互不影响。界面简洁,操作简单,ssl部署、网站备份还原一键操作,软件官网更新及时、占用体积小,100M不到,目前最新版本是phpStudyv8105。
2、特色
傻瓜式的一键启动,一键切换环境(nginx+apahce),一键切换PHP版本(51-73),无需懂任何代码与手动配置。
PHP扩展管理方便,伪静态等设计简单
关键是对windows系统的支持非常友好,使用时间长后,系统变卡、死机的情况较其他面板少。
二、linux服务器系统推荐宝塔面板
bt宝塔面板部署在云服务器上,用于生产环境,安全性、性能、稳定性极高,管理面板是图形化的界面,许多附在的linux软件安装、服务部署,网站运维等复杂操作,只要点击几下鼠标就可以,非常便捷,在linux系统上使用最多的和最广泛的服务器管理面板。宝塔面板有专业付费版和免费版本,一般免费版本功能已经够用了,专业版提供系统加固、防火墙等安全防务软件。
简单介绍宝塔面板的更能特色:
1、软件商店功能强大齐全、傻瓜式安装、更新,为服务拓展、升级提供便利。
2、网站设置、数据库管理、安全监控、文件系统、计划任务等linux技术人员需要使用命令的负责操作,在管理面板上一目了然。
3、最值得一提的是,是FTP上传、下载、在线压缩解压功能,文件传输速度非常快,可以达到10-20m/秒,还可以当网盘使用,用于分享下载文件。
怎么搭建php服务器?
目前主流的php服务器端架构是linux+nginx+php-fpm。
linux的选择可以是centos,ubuntuserver,debian都可以,如果安装比较新的版本。
nginx也安装最新稳定版本。
php如果是新项目建议php7以上的版本。一般公司选在php部署方案的时候会现在自己编译一个可用版本,这样子可用把相关需要的php拓展一次装好,
相关的配置想也都预先配好,在部署的时候只需要做一次文件拷贝。
0条评论