Upload pomocou PHP
Na Linuxových serveroch máte možnosť využívať PHP scripty pre upload súborov na server. Najskôr je však nutné pripraviť server na príjem dát. Pokiaľ chcete na server ukladať akékoľvek dáta, musíte mat v adresári, kam budú dáta ukladané, nastavené právo zápisu.
Php upload je spôsob, akým pomocou php a metódy POST nahrávať súbory na server. Je pomalý a neefektívny, preto je veľkosť súboru obmedzená na 2 MB. Má ho možnost využiť každý zákazník, pokiaľ je jeho doména umiestnená na serveroch Linux vo variante podporujúcom PHP scripty.
pozn: Meno dočasného adresára nie je možné individuálne nastaviť inak.
Príklady použitia:
1. Prí safe_mode = on
Pomocou textového editoru vytvorte súbor s názvom upload.php a do neho zapíšte následujúci kód:
<html>
<head>
<title>Prenos súboru pri safe_mod = On</title>
</head>
<body>
<?php
if ($_POST["odeslano"] == true) {
if (!is_file($_FILES['hloupost']['tmp_name'])) die ("Žádný soubor jste neuploadoval");
$conn_id = ftp_connect('moje.ftp.cz');
if (!$login_result = ftp_login($conn_id, 'muj_ftp_login', 'me_ftp_heslo')) {
die('Pripojeni k FTP serveru se nezdarilo');
}
$local_file = $_FILES['hloupost']['tmp_name'];
$remote_file = $_FILES['hloupost']['name'];
if (!ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY)) {
die('Prenos souboru se nezdaril');
} else {
echo "Soubor <strong>".$_FILES['hloupost']['name']."</strong> z Vaseho PC";
echo " typu <strong>".$_FILES['hloupost']['type']."</strong>";
echo " o velikosti <strong>".$_FILES['hloupost']['size']."</strong> bajtu";
echo " byl na serveru ulozen pod docasnym nazevem <strong>".$_FILES['hloupost']['tmp_name']."</strong>";
echo " a nasledne zpracovan.<br /><br />";
}
ftp_close($conn_id);
}
?>
Nahranie súboru na server
<form method="post" enctype="multipart/form-data">
<table border="1" >
<tr>
<td>Súbor: </td>
<td><input type="file" name="hloupost" accpet="text" /></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="odeslano" value="true" />
<p align="center"><input type="submit" value="Odeslat" /></td>
</tr>
</table>
</form>
</body>
</html>
2. Prí safe_mode = off
Pomocou textového editora vytvorte súbor s názvom uploadexec.php a do neho zapíšte nasledujúci kód:
<html>
<head>
<title>Prenos súboru pri safe_mod = On</title>
</head>
<body>
<?php
if ($_POST["odeslano"] == true) {
if (!is_file($_FILES['hloupost']['tmp_name'])) die ("Žádný soubor jste neuploadoval");
$local_file = $_FILES['hloupost']['tmp_name'];
$remote_file = $_FILES['hloupost']['name'];
if (!move_uploaded_file($remote_file, $local_file)) {
die('Prenos souboru se nezdaril');
} else {
echo "Soubor <strong>".$_FILES['hloupost']['name']."</strong> z Vaseho PC";
echo " typu <strong>".$_FILES['hloupost']['type']."</strong>";
echo " o velikosti <strong>".$_FILES['hloupost']['size']."</strong> bajtu";
echo " byl na serveru ulozen pod docasnym nazevem <strong>".$_FILES['hloupost']['tmp_name']."</strong>";
echo " a nasledne zpracovan.<br /><br />";
}
}
?>
Nahranie súboru na server
<form method="post" enctype="multipart/form-data">
<table border="1" >
<tr>
<td>Soubor: </td>
<td><input type="file" name="hloupost" accpet="text" /></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="odeslano" value="true" />
<p align="center"><input type="submit" value="Odeslat" /></td>
</tr>
</table>
</form>
</body>
</html>
Obidva súbory potom nahrajte na server do jedného adresára a môžete funkciu otestovať zavolaním prvého zo súborov upload.php vo Vašom obľúbenom internetovom prehliadači. Po vybraní súboru a kliknutí na tlačídlo "Send File" bude súbor za pomoci funkcie, definovanej v súbore uploadexec.php, nahraný na server do adresára, v ktorom sú umiestnené riadiace súbory.