为了账号安全,请及时绑定邮箱和手机立即绑定

PHP利用FTP上传处理程序

标签:
PHP Html/CSS

   PHP 上传文件

bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file ,int $mode [, int $startpos ] )

ftp_put()函数用来上传由local_file参数指定的文件到FTP 服务器,上传后的位置由remote_file指定。传输模式参数

ftp_stream

FTP 连接资源。

remote_file

远程文件路径。

local_file

本地文件路径。

mode

传送模式,只能为FTP_ASCII(文本模式)或FTP_BINARY(二进制模式)。 

成功时返回TRUE,或者在失败时返回FALSE.

ftp_get()函数从 FTP 服务器上下载一个文件。

若成功则返回 true,失败则返回 false

语法
ftp_get(ftp_connection,local,remote,mode,resume)

ftp_connect() 函数建立一个新的 FTP 连接。

若成功,则返回一个连接标识,否则返回 false

语法
ftp_connect(host,port,timeout)

ftp_login() 函数登录 FTP 服务器。

若成功则返回 true,失败则返回 false 并发出一个警告。

语法
ftp_login(ftp_connection,username,password)

实例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FTP上传文件类</title>
</head>
<?php
                                     
    /* * php连接ftp 数据库*/
    $Ftp_Server = "172.22.2.240";       //FTP 服务器地址
    $Ftp_User = "root";                 //FTP 服务器用户名
    $Ftp_Pwd = "sss";                //FTP 服务器密码
                                     
    //由于连接相对机密  使用@屏蔽错误
    //连接FTP 服务器   返回FTP 连接的id 号
    $FTP_Conn_id = ftp_connect($Ftp_Server)or die("连接ftp 服务器出错。");
                                     
    //登陆FTP 服务器  登陆FTP 使用  FTP 连接id 号   FTP用户密码; 返回TRUE AND  FALSE 到 FTP_Login
    $FTP_Login = ftp_login($FTP_Conn_id,$Ftp_User,$Ftp_Pwd);
                                     
                                     
    //判断连接过程中没有出现错误
    if($FTP_Conn_id && $FTP_Login){
            echo "FTP 连接成功";
        }else{
            echo "FTP 连接失败";
        }
                                     
    /*************连接FTP 服务器成功********/
                                     
                                     
                                     
?>
<body>
<form enctype="multipart/form-data" action="" method="post">
请选择文件: <br>
第一集<input name="upload_file[1]" type="file"><br>
<input name="submit" type="submit" value="上传至FTP">
</form>
</body>
</html>
<?php
        //判断是否进行提是交了
if(!empty($_POST[submit])){
                                     
        $file = $_FILES[upload_file];
            //上传路径
        $upload_dir="./upload/";
            //服务器地址
                                         
        //使用for 循环  为上传多集准备
        for($i = 1 ; $i <= 1 ; $i++)
                                         
        { 
            //将上传的文件移动到指定目录
            move_uploaded_file($file[tmp_name][$i],$upload_dir.$i."-".$file[name][$i]);
            //将上传到本地的文件传送到FTP 上面
            echo $Source_File = $upload_dir.$i."-".$file[name][$i];     //定义源文件目录
                echo "<br>";
            echo $Destination_File = "./load/".$i."-".$file[name][$i];   // 上传目标地址
                                             
                                             
            //执行FTP 上传函数
                                             
                                                 
            $FTP_Put = ftp_put($FTP_Conn_id,$Destination_File,$Source_File,FTP_BINARY); //FTP_BINARY 是指文件上传格式
                                             
                //文件上传后返回一个布尔值结果
                if($FTP_Put){ 
                    echo "文件上传成功";  //true
                }else{
                    echo "文件上传出现错误";    //false
                }
        }
                                             
}
?>
</body>
</html>


开始不断出现

ftp_put() [function.ftp-put]: Could notcreate file


说是无法创建文件什么的。后来原来发现我上传的文件目录只是

$Destination_File = "./load/"

原因是没有告诉他你的保存的文件叫什么名字

下面是我加了名字后的代码

$Destination_File ="./load/".$i."-".$file[name][$i];


当然有点就是你可以自己判断这个load 文件目录是否存在。如果不存在,则你需要创建它

创建语法

if(!ftp_chdir($conn_id,$path)) {
       ftp_mkdir($conn_id,$path);
      }

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消