HTML-форма для загрузки папки FTP

0

Я пытаюсь создать идею, о которой я думал. Я думал создать страницу, в которой вы пишете в HTML-форме свой FTP-сервер, имя пользователя, пароль, папку и выбираете вариант из выпадающего меню, а затем загружаете определенные файлы в эту папку. В настоящее время у меня есть некоторые проблемы [возможно, cuz Я никогда не заканчивал изучать PHP, я просто не могу сидеть в Infront ПК и изучать что-то, idk почему] Я действительно знаю некоторые основы, и я читал в PHP Documentary.

Мой текущий код: [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 я не знаю, как скомпоновать имя_файла и ftpFolder, поэтому он поместил его туда с этим именем, после того как этот тест будет работать, я хочу, чтобы он загружал все файлы и папки, которые находятся в это определенная папка? EDIT: О, и еще одна мелочь: Как я могу заставить PHP действовать только после отправки формы?

заранее спасибо

Теги:
forms
ftp

1 ответ

0
Лучший ответ

Это не требует ничего особенного. Когда вы входите в систему с пользователем, вам назначается определенный каталог, в котором вы запускаете. В пакетах общего хостинга в среде linux.

Это обычно:

/home/username/ 

то оттуда вы можете выбрать любую директорию, например:

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

Если вы хотите, чтобы PHP выполнялся после отправки формы, вам необходимо выполнить условие. Вы можете проверить как много, так и немного опубликованных переменных, как хотите.

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

Если вам нужно знать, в какой каталог вы по умолчанию включены, вы можете использовать

ftp_pwd();

который возвращает текущий рабочий каталог для FTP-соединения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню