用php 中ftp函数抓取别人服务器上的文件内容怎么做啊

用php 中ftp函数抓取别人服务器上的文件内容怎么做啊,第1张

ftp_get -- 从 FTP 服务器上下载一个文件

说明

bool ftp_get ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos])

ftp_get() 函数用来下载 FTP 服务器上由 remote_file 参数指定的文件,并保存到由参数 local_file 指定的本地文件。传送模式参数 mode 只能为 (文本模式) FTP_ASCII 或 (二进制模式) FTP_BINARY 中的其中一个。

注: 参数 resumepos 仅在适用于 PHP 430 以上版本

如果成功则返回 TRUE,失败则返回 FALSE。

ftp_get() 例子

<php

// define some variables

$local_file = 'localzip';

$server_file = 'serverzip';

// connect to the FTP server

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to download

if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {

echo "Successfully written to $local_file\n";

} else {

echo "There was a problem\n";

}

// close the connection

ftp_close($conn_id);

>

不知道你要的是不是这个函数。

给你的演示代码,有很多注释,你试试就知道了

<php

//配置数据

$ftp_server="";//FTP服务器

$ftp_user_name="";//FTP用户名

$ftp_user_pass="";//FTP用户密码

$ftp_up_dir="webspace/httpdocs/upload";//上传到哪个目录

$ftp_site_url="";//文件访问URL地址

$admin="admin";//管理员用户名

$adminpw="admin";//管理员密码

session_start();

//退出登录

if($_GET['action']=="logout"){

$_SESSION['pw']="";

}

//保存登录状态

if($_POST['pw']==$adminpw && $_POST['user']==$admin){

$_SESSION['pw']=$adminpw;

$_SESSION['user']=$admin;

}

if($_SESSION['pw']!=$adminpw || $_SESSION['user']!=$admin)

{

>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "http://wwww3org/TR/xhtml1/DTD/xhtml1-transitionaldtd">

<html xmlns="http://wwww3org/1999/xhtml">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>请登录</title>

</head>

<body>

<form action="<php $n = explode('/',$_SERVER['PHP_SELF']); echo $n[count($n)-1]; >" method="post">

<label for="file">管理账户:</label><input type="text" name="user" id="user" /> <br>

<label for="file">管理密码:</label><input type="password" name="pw" id="pw" />

<br />

<input type="submit" name="submit" value="Login" />

</form>

</body>

</html>

<

exit();

}

if(!$_FILES)

{

>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "http://wwww3org/TR/xhtml1/DTD/xhtml1-transitionaldtd">

<html xmlns="http://wwww3org/1999/xhtml">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>FTP远程上传</title>

</head>

<body>

<form action="<php $n = explode('/',$_SERVER['PHP_SELF']); echo $n[count($n)-1]; >" method="post"

enctype="multipart/form-data">

<label for="file">文件名称:</label>

<input type="file" name="file" id="file" />

<input type="submit" name="submit" value="上传" />

</form>

<p><a href="action=logout">退出</a></p>

</body>

</html>

<php

}

else

{

$file = date('y-m-d_')rand(1,999999999)'_'$_FILES["file"]["name"];

// 连接FTP

$conn = ftp_connect($ftp_server);

$login_result = ftp_login($conn, $ftp_user_name, $ftp_user_pass);

//改编目录

ftp_chdir($conn,$ftp_up_dir);

// 上传

if(ftp_put($conn, $file,$_FILES["file"]["tmp_name"] , FTP_ASCII)) {

$cue = "上传文件 $file 成功<br />文件访问地址: <a href='$ftp_site_url$file' target='_blank'>$ftp_site_url"$file"</a>";

} else {

$cue = "上传文件 $file 时出错";

}

>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "http://wwww3org/TR/xhtml1/DTD/xhtml1-transitionaldtd">

<html xmlns="http://wwww3org/1999/xhtml">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>文件上传结果</title>

</head>

<body>

<p><php echo $cue; ></p>

<p>

<form action="<php $n = explode('/',$_SERVER['PHP_SELF']); echo $n[count($n)-1]; >" method="post"

enctype="multipart/form-data">

<label for="file">文件名称:</label>

<input type="file" name="file" id="file" />

<input type="submit" name="submit" value="上传" />

</form>

</p>

<p><a href="action=logout">退出</a></p>

</body>

</html>

<php

// 关闭FTP连接

ftp_close($conn);

}

>

PHPini里,

max_input_time=秒数,这里要加大,

upload_max_filesize=2M 这里也要加大

default_socket_timeout=60这里看情况加大,

然后重启IIS

参考PHP Socket,以下例子摘自PHP手册:

<php

// connect to the internet using the '1921680100' IP

$opts = array('socket' =>

array('bindto' => '1921680100:0'));

// connect to the internet using the '1921680100' IP and port '7000'

$opts = array('socket' =>

array('bindto' => '1921680100:7000'));

// connect to the internet using port '7000'

$opts = array('socket' =>

array('bindto' => '0:7000'));

// create the context

$context = stream_context_create($opts);

// and use it to fetch the data

echo file_get_contents('http://wwwexamplecom', false, $context);

>

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 用php 中ftp函数抓取别人服务器上的文件内容怎么做啊

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情