我在尝试创造一个我想过的想法。我想要创建一个页面,你可以用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只在表单提交之后才能运行呢?
提前感谢
发布于 2013-09-21 15:53:45
这不需要什么特别的东西。当您与用户登录时,将为您分配一个您从其中启动的特定目录。在linux环境下共享托管包。
这通常是:
/home/username/ 然后,您可以选择任何目录,比如:
'/public_html/'.$ftpFolder.'/.'$fileName;如果只希望在表单提交后执行PHP,则需要执行条件。您可以检查多少或尽可能少的张贴变量,你想。
if(isset($_POST['server'])):
//your logic.
endif;如果您需要知道默认设置为哪个目录,可以使用
ftp_pwd();它返回FTP连接的当前工作目录。
https://stackoverflow.com/questions/18934400
复制相似问题