<?php
require_once("include_fn.php");
ftp_conn();
$listing = ftp_rawlist($conn,"$ftpfile");
$listing2 = ftp_nlist($conn,"$ftpfile");
$listing_num = count($listing);
$listing_num -= 3;
//判断FTP上是否有文件
if ($listing_num == 0)
{
echo "FTP上目前没有文件\n";
echo "<br>\n";
echo "[ <a href = 'jyb.nhxy.com'>返 回</a> ]";
exit;
}
do_header("下载页面");
$i = 3;//数组的前1,2个元素是目录的信息
foreach ($listing2 as $filename)
{
ereg("(Jan|Feb|March|Apr|May|Jun|Jul|August|Sep|Oct|Nov|Dec)[ ]+([0-9]+)",$listing[$i],$mtime);//用正则表达式获取文件的最后修改时间
$mon = month($mtime[1]);
echo " <tr>\n";
echo " <td align='center' valign='left'>\n";
echo " <a href = 'ftp://$host/$ftpfile/$filename' class = 'Link'>$filename</a>\n";
echo " </td>\n";
echo " <td align='center' valign='left'>\n";
echo " <font color = 'red'>$mon $mtime[2] 日</font>\n";
echo " </td>\n";
echo " </tr>\n";
$i++;
}
//打印记录的总数
?>
</table></td>
<td> </td>
</tr>
<tr>
<td height="67"> </td>
<td align = "right"><font color = "#0099FF" face = "仿宋">共有记录</font>
<?
$totle = count($listing2);
echo " $totle";?> <font color = "#0099FF" face = "仿宋">条</font></td>
<?
ftp_quit($conn);
do_footer();
?>
include文件是
<?php
function ftp_conn()
{
//设置为全局变量
global $host;
global $conn;
global $ftpfile;
$host = "127.0.0.1";
$user = "lmx";
$password = "lmx";
$ftpfile = "";
//连接FTP主机
@ $conn = ftp_connect("$host");
if (!$conn)
{
$err = "<font face = '文鼎霹雳体' color = red size ='6'>无法连接FTP服务器,请稍后再试!</font><br>";
errconn($err);
exit;
}
//登录到主机
@ $result = ftp_login($conn,$user,$password);
if (!$result)
{
$err = "<font face = '文鼎霹雳体' color = red size ='6'>无法登录FTP服务器,请稍后再试!</font><br>";
errconn($err);
ftp_quit($conn);
exit;
}
}
function month($mon)
{
//把英文月份转化为中文
switch($mon)
{
case "Jan":
$mon = "1 月";
break;
case "Feb":
$mon = "2 月";
break;
case "March":
$mon = "3 月";
break;
case "Apr":
$mon = "4 月";
break;
case "May":
$mon = "5 月";
break;
case "Jun":
$mon = "6 月";
break;
case "Jul":
$mon = "7 月";
break;
case "August":
$mon = "8 月";
break;
case "Sep":
$mon = "9 月";
break;
case "Oct":
$mon = "10 月";
break;
case "Nov":
$mon = "11 月";
break;
case "Dec":
$mon = "12 月";
break;
}
return $mon;
}
?>
require_once("include_fn.php");
ftp_conn();
$listing = ftp_rawlist($conn,"$ftpfile");
$listing2 = ftp_nlist($conn,"$ftpfile");
$listing_num = count($listing);
$listing_num -= 3;
//判断FTP上是否有文件
if ($listing_num == 0)
{
echo "FTP上目前没有文件\n";
echo "<br>\n";
echo "[ <a href = 'jyb.nhxy.com'>返 回</a> ]";
exit;
}
do_header("下载页面");
$i = 3;//数组的前1,2个元素是目录的信息
foreach ($listing2 as $filename)
{
ereg("(Jan|Feb|March|Apr|May|Jun|Jul|August|Sep|Oct|Nov|Dec)[ ]+([0-9]+)",$listing[$i],$mtime);//用正则表达式获取文件的最后修改时间
$mon = month($mtime[1]);
echo " <tr>\n";
echo " <td align='center' valign='left'>\n";
echo " <a href = 'ftp://$host/$ftpfile/$filename' class = 'Link'>$filename</a>\n";
echo " </td>\n";
echo " <td align='center' valign='left'>\n";
echo " <font color = 'red'>$mon $mtime[2] 日</font>\n";
echo " </td>\n";
echo " </tr>\n";
$i++;
}
//打印记录的总数
?>
</table></td>
<td> </td>
</tr>
<tr>
<td height="67"> </td>
<td align = "right"><font color = "#0099FF" face = "仿宋">共有记录</font>
<?
$totle = count($listing2);
echo " $totle";?> <font color = "#0099FF" face = "仿宋">条</font></td>
<?
ftp_quit($conn);
do_footer();
?>
include文件是
<?php
function ftp_conn()
{
//设置为全局变量
global $host;
global $conn;
global $ftpfile;
$host = "127.0.0.1";
$user = "lmx";
$password = "lmx";
$ftpfile = "";
//连接FTP主机
@ $conn = ftp_connect("$host");
if (!$conn)
{
$err = "<font face = '文鼎霹雳体' color = red size ='6'>无法连接FTP服务器,请稍后再试!</font><br>";
errconn($err);
exit;
}
//登录到主机
@ $result = ftp_login($conn,$user,$password);
if (!$result)
{
$err = "<font face = '文鼎霹雳体' color = red size ='6'>无法登录FTP服务器,请稍后再试!</font><br>";
errconn($err);
ftp_quit($conn);
exit;
}
}
function month($mon)
{
//把英文月份转化为中文
switch($mon)
{
case "Jan":
$mon = "1 月";
break;
case "Feb":
$mon = "2 月";
break;
case "March":
$mon = "3 月";
break;
case "Apr":
$mon = "4 月";
break;
case "May":
$mon = "5 月";
break;
case "Jun":
$mon = "6 月";
break;
case "Jul":
$mon = "7 月";
break;
case "August":
$mon = "8 月";
break;
case "Sep":
$mon = "9 月";
break;
case "Oct":
$mon = "10 月";
break;
case "Nov":
$mon = "11 月";
break;
case "Dec":
$mon = "12 月";
break;
}
return $mon;
}
?>
解决方案 »
- TP分页
- sqlite_fetch_array 执行完了怎么表也没有了
- 关于价格字段排序的问题
- 【新手问题】关于数组
- 在php中用JAVA访问PHP数组,如何实现?
- 用PHP强何得到POST后的页面内容,不够分再加
- 对php版的faq分类的想法
- php 连接oracle8.1.7_____________________________在线等待!!!!!!!!!!!!!!!50分
- 在<textarea>中加表格怎么实现?有相应的编辑器吗?
- php可以把图片转成二进制文件么????急!!!!!!!
- 讨论:smarty模板与javascript问题
- 请叫一个PHP+MYSQL交友网站的问题,共散100分
在本地行的话,程序应该没什么问题,可能是因为连接超时,或者学校FTP的端口不是21(因为你没有指定FTP端口,默认用21)等等
在 $listing = ftp_rawlist($conn,"$ftpfile");前一行加上
$ftpfile=$_REQUEST["$tpfile"];
试试.
echo " <a href = 'ftp://$host/$ftpfile/$filename' class = 'Link'>$filename</a>\n";
产生的连接为
ftp://jyzd.nhxy.com//article_list.php而ftp站点jyzd.nhxy.com是需要用户名和口令的,当然不可下载
你需要产生
ftp://username:[email protected]/article_list.php
这样的连接才能下载的考虑到你的ftp网站口令是需要保密的,因此你需要通过下述方法实现
1、先现在到http网站再发送给用户
2、用readfile('ftp://username:[email protected]/article_list.php')
这样都需要有一个中间页面来完成
下载连接应为http://youhost/download.php?file=article_list.php
在 $listing = ftp_rawlist($conn,"$ftpfile");前一行加上
$ftpfile=$_REQUEST["$tpfile"];
试试.
-------------------
打错了.
$ftpfile=$_REQUEST[$tpfile"];
在那里加入readfile("ftp://username:[email protected]/$filename");
点击时只是在download页面显示打开的那个文件内容,点右键下载的又会是download这个页面啊,怎么把文件下载到自己的机上?用ftp_get应该不行吧,那个程序是放在学校服务器上的,如果用ftp_get的话不就是下载到学校那服务器上而不是自己的机上了吗?