当前位置:首页 » 文件管理 » phpftp上传文件

phpftp上传文件

发布时间: 2022-05-08 08:33:22

php连接ftp下载或上传文件

$conn_id = ftp_connect('localhost') or die('can\'t connect to ftp');

// login with username and password
$login_result = @ftp_login($conn_id, $ftpname, $ftppass);

// check connection
if ((!$conn_id) || (!$login_result)) {
echo '连接出错';
exit;
}
//$path 路径$fliename文件名多个文件上传
$dir=ftp_chdir($conn_id,$filename);//上传目录
$Name=array_filter(explode('|',$fliename));
foreach ($Name as $key=>$val){
ftp_put($conn_id, $val, $path.$val, FTP_BINARY)or die('上传失败!');
}

ftp_close($conn_id);

② 通过input的file属性将文件用php的ftp上传到服务器

html部分:

<html>
<body>

<formaction="upload_file.php"method="post"
enctype="multipart/form-data">
<labelfor="file">Filename:</label>
<inputtype="file"name="file"id="file"/>
<br/>
<inputtype="submit"name="submit"value="Submit"/>
</form>

</body>
</html>
提示:
<form>标签的enctype属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用"multipart/form-data"。
<input>标签的type="file"属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。

php部分:

创建上传脚本
"upload_file.php"文件含有供上传文件的代码:
<?php
if($_FILES["file"]["error"]>0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."Kb<br/>";
echo"Storedin:".$_FILES["file"]["tmp_name"];
}
?>
通过使用PHP的全局数组$_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的inputname,第二个下标可以是"name","type","size","tmp_name"或"error"。就像这样:
$_FILES["file"]["name"]-被上传文件的名称
$_FILES["file"]["type"]-被上传文件的类型
$_FILES["file"]["size"]-被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"]-存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"]-由文件上传导致的错误代码
这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。
上传限制
在这个脚本中,我们增加了对文件上传的限制。用户只能上传.gif或.jpeg文件,文件大小必须小于20kb:
<?php

if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]<20000))
{
if($_FILES["file"]["error"]>0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."Kb<br/>";
echo"Storedin:".$_FILES["file"]["tmp_name"];
}
}
else
{
echo"Invalidfile";
}

?>
注释:对于IE,识别jpg文件的类型必须是pjpeg,对于FireFox,必须是jpeg。
保存被上传的文件
上面的例子在服务器的PHP临时文件夹创建了一个被上传文件的临时副本。
这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:
<?php
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]<20000))
{
if($_FILES["file"]["error"]>0)
{
echo"ReturnCode:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."Kb<br/>";
echo"Tempfile:".$_FILES["file"]["tmp_name"]."<br/>";

if(file_exists("upload/".$_FILES["file"]["name"]))
{
echo$_FILES["file"]["name"]."alreadyexists.";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/".$_FILES["file"]["name"]);
echo"Storedin:"."upload/".$_FILES["file"]["name"];
}
}
}
else
{
echo"Invalidfile";
}
?>
上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。
注释:这个例子把文件保存到了名为"upload"的新文件夹。

③ 什么是ftp文件,怎么将php网站文件上传到服务器

ftp是
文件传输协议
,利用此协议可以在网络上传输文件。
把文件上传到服务器,一般都是使用ftp的方法,因为往往服务器都会提供ftp功能。具体操作需要安装一个方便操作的ftp客户端,例如TotalCommander就很好,在客户端里面建议一个会话,输入服务器的地址、用户名、密码,然后就可以连接服务器,连接成功后可以看见服务器上的文件,可以和本地的进行
双向传输
(可以上传和下载)。
如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp
服务器地址,然后输入用户名和密码。

④ PHP项目如何上传到服务器

用FTP上传工具上传即可。这里以8UFTP软件为例:

1、下载安装FTP软件,输入服务器IP地址,FTP的用户名和密码进行连接。

⑤ 用php向ftp上传文件

其实就是三步问题,和你操作ftp工具一样,思路基本一样。

参考资料:http://www.itnet.org.cn/news419.html

⑥ 如何使用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函数上传文件的方法基本可以满足正常的使用。

⑦ phpstorm中文版怎么上传ftp

方法/步骤
1
打开工具栏
“Tools”-》“Deployment”-》“Brower
Remote
Host”
2
在窗口右侧可以看见一个“Remote
Host”区域,点开三个小点点的按钮,新建一个服务
3
填好你的FTP的信息,填完可以点“Test
FTP
Connection”测试一下连接是否成功,
4
到这一步基本就可以完成远程动态修改FTP项目了。连接上以后,它默认在窗口的右边,你可以直接拉到左边。这样看起来就像是在修改本地项目。编辑区右上角有提交按钮,也可以使用快捷键。如果想download到本地,那么请往下看
5
如果想下载到本地。点开前面图中的“Advanced
options”按钮,弹出如下对话框,勾选“Passive
mode”被动模式:
6
接下来点“Mappings”,选择你下载服务器文件时缓存映射到本地电脑的地方":
7
在文件的名字上右键选择“Upload
here”下载到本地,它会下载到你映射的地方
8
最后,你甚至可以打开菜单栏上“VCS”-》“Local
History”-》“Show
History”,你会看见,本地版本库不但帮你保存了最后的修改,而且你对文件做的每一步修改它都有记录,左侧栏显示的是修改时间,中间是显示的修改的
地方,右侧是当前的文件样子,这样你再也不怕修改错了不能返回以前的步骤了

⑧ 用php如何把一些文件和图片上传到另一指定的服务器

一个实例:

首先,在自己台式机和笔记本上都开通了ftp,这个不会的同学可以网上查serv-u,相关教程肯定不少的。

然后在台式机本地做了个测试:

$ftp_server = "192.168.1.100";
$ftp_user_name = "laohu";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = 'test.txt';
$remote_file = '/test/a.txt';
$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 = "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>

运行后确实成功。

需要注意:
在用ftp_put方法时,第四个参数传送模式,需要用FTP_BINARY(二进制模式),用FTP_ASCII(文本模式)时,图片能上传但无法显示,其他文件重命名、中文乱码解决、上传权限控制等,就不在此提及了。

⑨ 我已经有FTP工具了,web服务器也装好了PHP。怎么将文件上传到一个web服务器

要分情况来说,如果你是申请的网上的免费主页空间(支持php),那么空间的提供商一般会给你提供一个后台的界面让你上传文件,或者给你开通ftp服务,通过ftp上传,你的web地址(域名)由空间提供商给你。
另一种情况是,自己在电脑上搭建了web服务器,你只需要把自己做好的网页,脚本程序拷贝到web服务器设置的主页目录就可以了,访问地址一般是http://本机ip
如果是自己的主机托管在机房,想用ftp上传文件,要看你的web服务器是用什么搭建的,如果是IIS,直接把ftp服务设置好,启用就可以了,如果是apache服务器,就要再装个第三方的ftp服务端程序,比如server-U等等

⑩ 怎么通过PHP来支持FTP和HTTP上传

给你一些 php 操作 ftp 的函数:


FTP 函数

  1. ftp_alloc— 为要上传的文件分配空间

  2. ftp_cp— 切换到当前目录的父目录

  3. ftp_chdir— 在 FTP 服务器上改变当前目录

  4. ftp_chmod— 设置 FTP 服务器上的文件权限

  5. ftp_close— 关闭一个 FTP 连接

  6. ftp_connect— 建立一个新的 FTP 连接

  7. ftp_delete— 删除 FTP 服务器上的一个文件

  8. ftp_exec— 请求运行一条 FTP 命令

  9. ftp_fget— 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中

  10. ftp_fput— 上传一个已经打开的文件到 FTP 服务器

  11. ftp_get_option— 返回当前 FTP 连接的各种不同的选项设置

  12. ftp_get— 从 FTP 服务器上下载一个文件

  13. ftp_login— 登录 FTP 服务器

  14. ftp_mdtm— 返回指定文件的最后修改时间

  15. ftp_mkdir— 建立新目录

  16. ftp_nb_continue— 连续获取/发送文件(non-blocking)

  17. ftp_nb_fget— 从 FTP 服务器获取文件并写入到一个打开的文件(非阻塞)

  18. ftp_nb_fput— 将文件存储到 FTP 服务器 (非阻塞)

  19. ftp_nb_get— 从 FTP 服务器上获取文件并写入本地文件(non-blocking)

  20. ftp_nb_put— 存储一个文件至 FTP 服务器(non-blocking)

  21. ftp_nlist— 返回给定目录的文件列表

  22. ftp_pasv— 返回当前 FTP 被动模式是否打开

  23. ftp_put— 上传文件到 FTP 服务器

  24. ftp_pwd— 返回当前目录名

  25. ftp_quit— ftp_close 的 别名

  26. ftp_raw— 向 FTP 服务器发送命令

  27. ftp_rawlist— 返回指定目录下文件的详细列表

  28. ftp_rename— 更改 FTP 服务器上的文件或目录名

  29. ftp_rmdir— 删除 FTP 服务器上的一个目录

  30. ftp_set_option— 设置各种 FTP 运行时选项

  31. ftp_site— 向服务器发送 SITE 命令

  32. ftp_size— 返回指定文件的大小

  33. ftp_ssl_connect— 打开 SSL-FTP 连接

  34. 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);
热点内容
中金资产如何配置 发布:2024-11-18 14:19:49 浏览:77
逆天脚本制作方法 发布:2024-11-18 14:08:39 浏览:494
搭建全功能服务器储存爱快 发布:2024-11-18 14:07:45 浏览:64
python使用redis 发布:2024-11-18 13:59:20 浏览:178
安佳和美可卓蓝胖子哪个奶粉好 发布:2024-11-18 13:56:22 浏览:464
我的世界网易版如何用自己的主机开服务器 发布:2024-11-18 13:44:45 浏览:865
centos设置ftp用户 发布:2024-11-18 13:43:17 浏览:549
android开发网络 发布:2024-11-18 13:41:51 浏览:459
fmz搭建自己的服务器 发布:2024-11-18 13:37:12 浏览:660
android直播第三方 发布:2024-11-18 13:29:44 浏览:904