2013-09-21 94 views
0

我试图创建一个我想到的想法。 我想创建一个页面,你在HTML表单中写入你的FTP服务器,用户名,密码,文件夹,然后从下拉菜单中选择一个选项,然后它将某些文件上传到该文件夹​​, 目前我有一些问题[也许cuz我从来没有完成学习PHP,我只是不能坐在电脑前面学习,idk为什么] 我确实知道一些基础,我读了PHP的纪录片。HTML窗体上传FTP文件夹

我当前的代码:[HTML]

<form name="ftpupload" action="" method="post"> 
Server: <input type="text" name="server" ><br> 
Username: <input type="text" name="user"><br> 
Password: <input type="password" name="pass"><br> 
Folder: <input type="folder" name="folder"><br> 
System: <select name ="sys"><br> 
<option value="check">Check</option> 
<option value="2ndcheck">2nd Check</option> 
</select><br> 
<input type="submit" value="Submit"> 
</form> 

PHP:

$ftpServer = $_POST['server']; 
$ftpUser = $_POST['user']; 
$ftpPass = $_POST['pass']; 
$ftpFolder = $_POST['folder']; 
$ftpSys = $_POST['sys']; 
if($ftpSys == 'check') { $fileName = "test.txt"; $remoteFile ="2ndindex.txt"; } 
elseif($ftpSys =='2ndcheck') { $fileName = "2ndtest.txt"; $remoteFile ="2ndindex.txt"; } 
//FTP Connection 
$conn = ftp_connect($ftpServer) ; 
// 
if (@ftp_login($conn, $ftpUser, $ftpPass)) { 
    //echo "Connected as [email protected]$ftpServer\n"; 
?> 
<div class="working"> 
Connected as <? echo "[email protected]$ftpServer" ?> 
</div> 
<? 
ftp_put($conn, $ftpFolder, $fileName, FTP_ASCII); 
    } else { 
?> 
<div class="working"> 
Could not connect as <? echo "[email protected]$ftpServer" ?> 
</div> 
<? 
} 

因为有限ftp_put功能的,我不知道如何把文件名和ftpFolder在一起,所以ITLL把它放在那里,用这个名字, 这个测试后会工作我想让它上传所有文件和文件夹在某个文件夹中,这可能吗? 编辑:哦,还有一件小事:我只能在表单提交后才能获得PHP代理权?

在此先感谢

回答

0

这不需要任何特别的东西。当您与用户一起登录时,您将被分配一个在Linux环境中的共享主机软件包中启动的特定目录。

这通常是:

/home/username/ 

然后从那里,你可以选择任何目录,如:

'/public_html/'.$ftpFolder.'/.'$fileName; 

如果你只希望PHP执行形式已经提交后,再你需要执行一个条件。您可以根据需要检查尽可能多的或尽可能少的变量。

if(isset($_POST['server'])): 
    //your logic. 
endif; 

如果你需要知道的目录你默认设置为,您可以使用

ftp_pwd(); 

返回当前工作目录的FTP连接。