Náhrada FTP klienta webovým rozhraním 3.
V tomto diely seriálu o tvorbe náhrady FTP klienta si vytvoríme webové rozhranie pre zmenu prístupových práv k súborom a adresárom a pre upload súborov na server. Pre prácu so spomenutými nástrojmi nám znova poslúžia formuláre.
Dnes nám pribudnú dva nové súbory:
upload.php
– skript pre uploadovanie súborov na serverprava.php
– nastavenie práv pre súbory a adresáre
Okrem toho sa nám znova tak trochu zmení hlavná stránka klient.php
, kde pribudnú tri nové formuláre. Jednoducho ich vložíte pod už existujúce formuláre, o ktorých sa môžete dočítať v predošlých dieloch. Nové formuláre pre upload súborov a zmenu práv pre súbory a adresáre budú vyzerať takto:
<form action=“upload.php“ method=“post“ enctype=“multipart/form-data“>
<input type=“hidden“ name=“adresar“ value=“<?php echo $adresar?>“ />
<input type=“file“ name=“subor“ class=“textinput“ /> <button type=“submit“ class=“button“>Upload</button>
</form>
<br />
<form action=“prava.php“ method=“post“>
<input type=“hidden“ name=“adresar“ value=“<?php echo $adresar?>“ />
<select name=“nazov“ class=“select“>
<option value=“false“ SELECTED>Vyber súbor</option>
<?php
$handle = opendir($adresar);
while($entry = readdir($handle)) {
$cas = filemtime(„$adresar/$entry“);
if(!ereg(„^[.]+$“, $entry)):
if(is_file(„$adresar/$entry“)):
echo „<option value=\“$entry\“>$entry</option>“;
endif;
endif;
}
?>
</select>
<input type=“text“ name=“prava“ onfocus=’this.value=““;‘ value=“prístupové práva“ class=“textinput“ />
<button type=“submit“ class=“button“>Nastaviť</button>
</form>
<br />
<form action=“prava.php“ method=“post“>
<input type=“hidden“ name=“adresar“ value=“<?php echo $adresar?>“ />
<select name=“nazov“ class=“select“>
<option value=“false“ SELECTED>Vyber adresár</option>
<?php
$handle = opendir($adresar);
while($entry = readdir($handle)) {
$cas = filemtime(„$adresar/$entry“);
if(!ereg(„^[.]+$“, $entry)):
if(!is_file(„$adresar/$entry“)):
echo „<option value=\“$entry\“>$entry</option>“;
endif;
endif;
}
?>
</select>
<input type=“text“ name=“prava“ onfocus=’this.value=““;‘ value=“prístupové práva“ class=“textinput“ />
<button type=“submit“ class=“button“>Nastaviť</button>
</form>
Formuláre fungujú na tom istom princípe ako ostatné, premenné uchovávame v skrytých poliach. Súbor upload.php
nám bude uploadovať súbory do práve otvoreného adresára. Jednoducho stačí prostredníctvom formulárového prvku file vybrať súbor a po kliknutí na upload sa nám súbor odošle na stránku s príslušným skriptom, ktorý celý proces spracuje. Súbor bude vyzerať nasledovne:
<?php
Header(„Expires: Mon, 26 Jul 1997 05:00:00 GMT“);
Header(„Last-Modified:“.gmdate(„D, d M Y H:i:s“).“ GMT“);
Header(„Cache-Control: no-cache, must-revalidate“);
Header(„Pragma: no-cache“);
?>
<html>
<head>
<title>Upload súborov</title>
<meta http-equiv=“Content-Type“ content=“text/html; charset=windows-1250″ />
<link rel=“stylesheet“ href=“style.css“ type=“text/css“ />
</head>
<body bgcolor=“#FFFFFF“ text=“#005FA4″>
<h3>FTP klient – upload súborov</h3>
<hr size=“1″ color=“#005FA4″ />
<?php
if($_FILES[‚subor‘]!=“false“ && $_POST[‚adresar‘]!=“false“):
if (@move_uploaded_file($_FILES[‚subor‘][‚tmp_name‘], $_POST[‚adresar‘].“/“.$_FILES[‚subor‘][‚name‘])):
echo „Súbor sa podarilo úspešne uploadovať na server.“;
else:
echo „Súbor sa nepodarilo uploadovať na server.“;
endif;
else:
?>
Nesprávne zadané údaje!
<?php endif;?>
<br /><br />
<a href=“klient.php?adresar=<?php echo $_POST[‚adresar‘]?>“>Vrátiť sa späť</a>
</body>
</html>
Pre uploadovanie súboru na server nám poslúži funkcia move_uploaded_file(). Väčšina funkcií v FTP klientovi je ošetrená tak, aby sa nezobrazovali chybové hlásenia. Na konci každej stránky okrem hlavnej (to je klient.php
) je odkaz na návrat späť. Tento odkaz sa zobrazí v každom prípade. Okrem toho sú všetky stránky neprístupné off-line pre ochranu údajov.
Pri práci so súbormi a adresármi niekedy potrebujeme zmeniť ich prístupové práva. Náš FTP klient nám to samozrejme umožní. Osobitne sa budú nastavovať práva pre súbory a adresáre. Operácie nám bude spracovávať nový súbor prava.php
, ktorý vyzerá nasledovne:
<?php
Header(„Expires: Mon, 26 Jul 1997 05:00:00 GMT“);
Header(„Last-Modified:“.gmdate(„D, d M Y H:i:s“).“ GMT“);
Header(„Cache-Control: no-cache, must-revalidate“);
Header(„Pragma: no-cache“);
?>
<html>
<head>
<title>Prístupové práva</title>
<meta http-equiv=“Content-Type“ content=“text/html; charset=windows-1250″ />
<link rel=“stylesheet“ href=“style.css“ type=“text/css“ />
</head>
<body bgcolor=“#FFFFFF“ text=“#005FA4″>
<h3>FTP klient – prístupové práva</h3>
<hr size=“1″ color=“#005FA4″ />
<?php
if($_POST[‚prava‘]!=“false“ && $_POST[‚adresar‘]!=“false“):
$kde = $_POST[‚adresar‘].“/“.$_POST[‚nazov‘]; //do premennej vložíme cestu aj s názvom súboru
if(@ChMod($kde, $_POST[‚prava‘])):
echo „Prístupové práva sa podarilo úspešne zmeniť.“;
else:
echo „Prístupové práva sa nepodarilo zmeniť.“;
endif;
else:
?>
Nesprávne zadané údaje!
<?php endif;?>
<br /><br />
<a href=“klient.php?adresar=<?php echo $_POST[‚adresar‘]?>“>Vrátiť sa späť</a>
</body>
</html>
Na zmenu prístupových práv pre súbory a adresáre nám poslúži len jeden skript. Ten bude teda „univerzálny“. Všetko je graficky spracované prostredníctvom CSS.
V budúcom poslednom diely sa pozrieme na vytváranie nových súborov, kopírovanie súborov na servery a na zvýraznenie syntaxe kódu v súbore.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
10 nejpopulárnějších programovacích jazyků a jejich využití
9. listopadu 2023 -
Jak se chránit před podvody na internetu – část 1
8. října 2024 -
Windows App: Pracujte odkudkoliv, kdykoliv
3. listopadu 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024