‘壹’ 什么是ftp文件,怎么将php网站文件上传到服务器
ftp是
文件传输协议
,利用此协议可以在网络上传输文件。
把文件上传到服务器,一般都是使用ftp的方法,因为往往服务器都会提供ftp功能。具体操作需要安装一个方便操作的ftp客户端,例如TotalCommander就很好,在客户端里面建议一个会话,输入服务器的地址、用户名、密码,然后就可以连接服务器,连接成功后可以看见服务器上的文件,可以和本地的进行
双向传输
(可以上传和下载)。
如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp
服务器地址,然后输入用户名和密码。
‘贰’ php中如何实现ftp上传基础代码
p工具我们都用过是用来上传文件的,那么在php中如何用代码实现呢,下面简单介绍一个最基础最简单的列子,首先根据我们使用ftp工具来说,实现文件上传需要打开ftp工具->输入ftp地址,端口号,账号,密码登陆ftp->从本地选择相应文件上传到ftp相应目录,php中要实现这么一个简单的功能无非也是这样。
第一步:打开ftp
$ip="101.101.101.101";
$name="name";
$pwd="mima";
$con=ftp_connect($ip,"21")
or("连接失败");
第二步:登陆ftp
ftp_login($con,$name,$pwd);
第三步:上传本地test.php文件到ftp
image目录下
ftp_put($con,"image/test.php","test.php",FTP_ASCII);
此时在ftp上的image目录下可以看到test.php文件了,当然这里上传文件,可以扩展下写个上传表单,将表单附件上传ftp这样就更方便,这里只作为一个文件最基础上传ftp功能。
‘叁’ 用php向ftp上传文件
参考代码如下:
$ftp_server = "根据实际IP设置";
$ftp_user = "wodota_ting";
$ftp_pass = "wodotating!@#";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
$source_file=$this->filepath.$this->newFileName; //源地址
echo $source_file;
$destination_file="/testxiao/".$this->newFileName; //目标地址
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY) or die("Couldn't connect to $ftp_server");
//ftp_close($conn_id);
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
ftp_close($conn_id);
‘肆’ php storm怎么上传ftp
是想使用phpstorm的ftp功能把,那就先要连接ftp
点击菜单栏的Tools
选择deployment
选择browse remote hosts 会弹出ftp连接页面
输入名称和选择连接方式就会跳转到一个界面
填写连接地址,登录账号和密码,确定保存就可以了
打开一个文件,编辑好以后,选择左边的上传箭头,就能上传到对应的目录下了
‘伍’ 怎么用PHP实现对FTP空间上传文件
PHP的问题,建议请先查询PHP手册后再发问,谢谢
此题解法在FTP函数的第一个demo中就有..如下:
<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
// close the FTP stream
ftp_close($conn_id);
?>
‘陆’ 如何使用php中ftp函数上传文件以及解决上传文件失败的方法
一、 ftp上传图片参数说明。
1 $source:本机图片完整的路径。(/a/b/c.jpg)
2 $des :上传目标linux主机完整的路径。
3 $ftp_server:ftp地址
4 $ftp_user_name:ftp用户名
5 $ftp_user_pass: ftp密码
6 $port:端口
二、如何使用php中ftp函数上传文件的方法
例如:
本地地址为:/a/b/c.jpg
目标地址为:/d/a/b/c.jpg
2.1、linux主机上传linux主机。
01 function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
02 {
03 // 此步骤是在于上传目录与本机的目录不一致转换使用
04 $des = "/d" . $des;
05 $conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
06 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
07 ftp_pasv($conn_id, TRUE);
08 $ftp_folder = dirname($des);
09 $dir = explode("/", $ftp_folder);
10 $path = "";
11 for ($i = 0; $i < count($dir); $i++) {
12 $path .= "/" . $dir[$i];
13 if (!ftp_chdir($conn_id, $path)) {
14 $result = ftp_mkdir($conn_id, $path);
15 }
16 }
17 if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
18 return 1;
19 } else {
20 return 0;
21 }
22 ftp_close($conn_id);
23 }
2.2、windows主机上传linux主机。
01 function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
02 {
03 $des = "/d" . $des;
04 $conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
05 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
06 ftp_pasv($conn_id, TRUE);
07 $ftp_folder = dirname(str_ireplace('\\', '/', $des));
08 $dir = explode("/", $ftp_folder);
09 $path = "";
10 for ($i = 0; $i < count($dir); $i++) {
11 $path .= "/" . $dir[$i];
12 if (!ftp_chdir($conn_id, $path)) {
13 $result = ftp_mkdir($conn_id, $path);
14 }
15 }
16 if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
17 return 1;
18 } else {
19 return 0;
20 }
21 ftp_close($conn_id);
22 }
上面的两种使用php中ftp函数上传文件的方法基本可以满足正常的使用。
‘柒’ 怎么通过PHP来支持FTP和HTTP上传
给你一些 php 操作 ftp 的函数:
FTP 函数
ftp_alloc— 为要上传的文件分配空间
ftp_cp— 切换到当前目录的父目录
ftp_chdir— 在 FTP 服务器上改变当前目录
ftp_chmod— 设置 FTP 服务器上的文件权限
ftp_close— 关闭一个 FTP 连接
ftp_connect— 建立一个新的 FTP 连接
ftp_delete— 删除 FTP 服务器上的一个文件
ftp_exec— 请求运行一条 FTP 命令
ftp_fget— 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中
ftp_fput— 上传一个已经打开的文件到 FTP 服务器
ftp_get_option— 返回当前 FTP 连接的各种不同的选项设置
ftp_get— 从 FTP 服务器上下载一个文件
ftp_login— 登录 FTP 服务器
ftp_mdtm— 返回指定文件的最后修改时间
ftp_mkdir— 建立新目录
ftp_nb_continue— 连续获取/发送文件(non-blocking)
ftp_nb_fget— 从 FTP 服务器获取文件并写入到一个打开的文件(非阻塞)
ftp_nb_fput— 将文件存储到 FTP 服务器 (非阻塞)
ftp_nb_get— 从 FTP 服务器上获取文件并写入本地文件(non-blocking)
ftp_nb_put— 存储一个文件至 FTP 服务器(non-blocking)
ftp_nlist— 返回给定目录的文件列表
ftp_pasv— 返回当前 FTP 被动模式是否打开
ftp_put— 上传文件到 FTP 服务器
ftp_pwd— 返回当前目录名
ftp_quit— ftp_close 的 别名
ftp_raw— 向 FTP 服务器发送命令
ftp_rawlist— 返回指定目录下文件的详细列表
ftp_rename— 更改 FTP 服务器上的文件或目录名
ftp_rmdir— 删除 FTP 服务器上的一个目录
ftp_set_option— 设置各种 FTP 运行时选项
ftp_site— 向服务器发送 SITE 命令
ftp_size— 返回指定文件的大小
ftp_ssl_connect— 打开 SSL-FTP 连接
ftp_systype— 返回远程 FTP 服务器的操作系统类型
例子:
<?php
$ftp_server="";
$ftp_user_name="";
$ftp_user_pass="";
$file="";//tobeuploaded
$remote_file="";
//简历ftp链接
$conn_id=ftp_connect($ftp_server);
//使用用户名和密码登录
$login_result=ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);
//上传文件
if(ftp_put($conn_id,$remote_file,$file,FTP_ASCII)){
echo"成功上传文件:$file ";
exit;
}else{
echo"上传文件错误:$file ";
exit;
}
//关闭ftp链接
ftp_close($conn_id);