- Nacházíte se zde:
- Podpora
- Návody a rady
- WWW prostor
- PHP upload
Pro upload souborů na server se obvykle používá funkce move_uploaded_file(), ale kvůli safe_mode to není možné. Omezení lze velmi jednoduše obejít využitím vestavěné funkce pro práci s FTP, kdy soubor z odkládacího adresáře webserveru jednoduše zkopírujete pomocí FTP.
Při uploadu je jméno nahrávaného souboru uloženo v proměnné $_FILES['userfile']['tmp_name']. Jméno stačí předat skriptu, jak je uvedeno např. na z http://cz.php.net/manual/en/ref.ftp.php.
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user
$ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
// close the FTP stream
ftp_close($conn_id);
?>