来自PHP英文手册的代码,经测试,可运行:<?php
// set up basic connection
$ftp_server="127.0.0.1"; //服务器地址
$ftp_user_name="public"; //用户名
$ftp_user_pass="abc"; //密码
$source_file="e:\\read.txt"; //源文件
$destination_file="read.txt"; //目标文件
//你只要把以上这些数据传入PHP文件就可以了$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";
die;
} 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);
?>
// set up basic connection
$ftp_server="127.0.0.1"; //服务器地址
$ftp_user_name="public"; //用户名
$ftp_user_pass="abc"; //密码
$source_file="e:\\read.txt"; //源文件
$destination_file="read.txt"; //目标文件
//你只要把以上这些数据传入PHP文件就可以了$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";
die;
} 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);
?>
$UpFileType=0; //设置文件上传的方法:0代表使用PHP的COPY函数进行上传,1代表使用FTP方式上传
$FileSize=1024*1024; //设置文件上传的单个文件大小
$FileNameSetting=2; //设置上传后的文件名规则:0代表使用原文件名,1代表使用当前时间(精确到秒),2代表使用当前时间加文件名//当$UpFileType的值为0时需要设置以下变量:
$UploadPath="upload/"; //设置文件上传的路径//当$UpFileType的值为1时需要设置以下变量:
$FTPServer="server"; //设置FTP服务器地址
$FTPPort="21"; //设置FTP服务器端口号
$FTPUsername="administrator"; //设置FTP登录用户名
$FTPPassword=""; //设置FTP登录密码
$FTPPath="/ppp/"; //设置上传后的FTP路径if($UpFileType==0)
{
for($i=1;$i<6;$i++)
{
$FileTemp1="file".$i;
$FileTemp2="file".$i."_name";
$FileTemp3="file".$i."_size";
if(($$FileTemp2!="") && ($$FileTemp2!="none"))
{
if(file_exists($$FileTemp1))
{
if($$FileTemp3<=$FileSize)
{
switch($FileNameSetting)
{
case 0:
$FileTemp4=$$FileTemp2;
break;
case 1:
$FileTemp4=date("YmdHis").$i;
break;
case 2:
$FileTemp4=date("YmdHis").$$FileTemp2;
break;
}
if(@copy($$FileTemp1,$UploadPath.$FileTemp4))
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传成功,上传的文件名是:".$FileTemp4;
}
else
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传失败";
}
}
else
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件大小超过了程序的设置".$FileSize."个字节";
}
}
else
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件不存在。";
}
}
else
{
$FileTemp5.="<br>文件".$i."未选择。";
}
}
}
if($UpFileType==1)
{
$ftpconn=@ftp_connect($FTPServer,$FTPPort);
if($ftpconn)
{
$ftplogin=@ftp_login($ftpconn,$FTPUsername,$FTPPassword);
if($ftplogin)
{
$ftpcd=@ftp_chdir($ftpconn,$FTPPath);
if($ftpcd)
{
for($i=1;$i<6;$i++)
{
$FileTemp1="file".$i;
$FileTemp2="file".$i."_name";
$FileTemp3="file".$i."_size";
if(($$FileTemp2!="") && ($$FileTemp2!="none"))
{
if(file_exists($$FileTemp1))
{
if($$FileTemp3<=$FileSize)
{
switch($FileNameSetting)
{
case 0:
$FileTemp4=$$FileTemp2;
break;
case 1:
$FileTemp4=date("YmdHis");
break;
case 2:
$FileTemp4=date("YmdHis").$$FileTemp2;
break;
}
$ftpput=@ftp_put($ftpconn,$FileTemp4,$$FileTemp1,1);
if($ftpput)
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传成功,上传的文件名是:".$FileTemp4;
}
else
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传失败";
}
}
else
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件大小超过了程序的设置".$FileSize."个字节";
}
}
else
{
$FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件不存在。";
}
}
else
{
$FileTemp5.="<br>文件".$i."未选择。";
}
}
}
else
{
$FileTemp5.="<br>改变FTP服务器上的目录失败,请检查FTP的相关设置";
}
}
else
{
$FileTemp5.="<br>登录FTP服务器失败,请检查FTP的相关设置";
}
}
else
{
$FileTemp5.="<br>连接FTP服务器失败,请检查FTP的相关设置";
}
}
echo $FileTemp5;
?>
<html>
<head>
<title>请选择要上传的文件</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body>
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1">
<p> </p>
<p><font size="5"><strong><em>请选择要上传的文件:</em></strong></font></p>
<hr size="1">
<p> </p>
<table width="500" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC">
<tr bgcolor="#FFFFFF">
<td><div align="right"><font size="2">文件1:</font></div></td>
<td><font size="2">
<input name="file1" type="file" size="40">
</font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right"><font size="2">文件2:</font></div></td>
<td><font size="2">
<input name="file2" type="file" size="40">
</font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="26"><div align="right"><font size="2">文件3:</font></div></td>
<td><font size="2">
<input name="file3" type="file" size="40">
</font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right"><font size="2">文件4:</font></div></td>
<td><font size="2">
<input name="file4" type="file" size="40">
</font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right"><font size="2">文件5:</font></div></td>
<td><font size="2">
<input name="file5" type="file" size="40">
</font></td>
</tr>
</table>
<p align="center">
<input type="submit" name="cmdUp" value="上传">
</p>
</form>
</body>
</html>
谢谢!
错误的意思:是不能上文件! 我的同事说如果自己设定路径的文件能用FTP上传的话,(不是用"<form>.......</form>"这样上传的,即$source_file="e:\\read.txt"; //源文件
不能自己设定!
如果可以的话,这个PHP语言是很危险的,因为程序开发者可以上传浏览者机子的要害文件,你说呢?