我正在努力创造一个我想到的想法。 我想创建一个页面,用HTML格式写下您的FTP服务器,用户名,密码,文件夹,然后从下拉菜单中选择一个选项,然后将某些文件上传到该文件夹, 目前我有一些问题[也许因为我从来没有完成学习PHP,我只是不能坐在PC前面学习东西,为什么] 我知道一些基础,我在PHP纪录片中读到。
我目前的代码:[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 $ftpUser@$ftpServer\n";
?>
<div class="working">
Connected as <? echo "$ftpUser@$ftpServer" ?>
</div>
<?
ftp_put($conn, $ftpFolder, $fileName, FTP_ASCII);
} else {
?>
<div class="working">
Could not connect as <? echo "$ftpUser@$ftpServer" ?>
</div>
<?
}
由于ftp_put功能有限,我不知道如何将fileName和ftpFolder放在一起,所以它会把它放在那里, 在这个测试工作之后我想让它上传某个文件夹中的所有文件和文件夹,这可能吗? 编辑:哦,另一件小事:我怎样才能在表单提交后才能获得PHP代理?
提前致谢
答案 0 :(得分:0)
这不需要任何特别的东西。当您与用户一起登录时,会为您分配一个您开始使用的目录。在Linux环境中的共享主机软件包上。
这通常是:
/home/username/
然后从那里,你可以选择任何目录,如:
'/public_html/'.$ftpFolder.'/.'$fileName;
如果您只希望在提交表单后执行PHP,则需要执行条件。您可以根据需要检查任意数量的变量。
if(isset($_POST['server'])):
//your logic.
endif;
如果您需要知道默认设置的目录,可以使用
ftp_pwd();
返回FTP连接的当前工作目录。