Upload souborů na server
Dobrý den, mám stránky na kterých bych potřeboval aby uživatelé nahráli soubor, zejména obrázky.
Obrázek by se měl nahrávat přes běžný form, a krátký php script ->
<?php $image = $_FILES['image']['name']; $targetDirectory = "/www/domains/domena.tld/IMAGES/"; $targetFile = $targetDirectory . basename($_FILES['image']['name']); if (move_uploaded_file($_FILES['image']['tmp_name'], $targetFile)) { header("Location: ../management.php?status=1"); exit(); } else { header("Location: ../management.php?status=0"); exit(); } ?>
Ovšem při pokusu o nahrání to vyhodí exception.
move_uploaded_file(): open_basedir restriction in effect.
Dále jsem zkoušel nahrát obrázek přes ftp->
<?php $ftp_server = 'XXXXX.wXX.wedos.net'; $ftp_username = 'wXXXXX'; $ftp_password = 'XXXXXXXXX'; $local_file = $_FILES['image']['tmp_name']; $remote_file = '/www/domains/domena.tld/IMAGES/' . $_FILES['image']['name']; $conn_id = ftp_connect($ftp_server); ftp_pasv($conn_id, true); $login_result = ftp_login($conn_id, $ftp_username , $ftp_password); if ((!$conn_id) || (!$login_result)) { echo "FTP connection has failed!"; echo "Attempted to connect to $ftp_server for user $ftp_username"; exit; } else { echo "Connected to $ftp_server, for user $ftp_username"; } $upload = ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY); if (!$upload) { echo "FTP upload has failed!"; } else { echo "Uploaded $local_file to $ftp_server as $remote_file"; } ftp_close($conn_id); ?>
Kde jsem dostal podobnou vyjímku
Warning: ftp_put(): Could not create file.
Jak jsem se dočet z ostatních otázek vypnout open_basedir restriction nepřichází v úvahu, je tedy nějaký korektní způsob jak soubor nahrát?
Děkuji za odpověď.
3 Answers
Dobrý den,
s konkrétním kódem Vám bohužel poradit nedokážu, ale upload na webhostingu běžně funguje, a WebFTP klient funguje také přes PHP, takže nahrávání přes FTP by také mělo být podporováno.
Navrhoval bych odstranit z Vašeho kódu konkrétní názvy serverů a dotaz publikovat, třeba problém vyřeší některý z návštěvníků fóra. Můžu dotaz upravit a publikovat?