ulozeni souboru na web pomoci formulare
4 příspěvky
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
prosim o radu. Vytvarim formular, jehoz pomoci potrebuji umistit na server soubor. Mam dva soubory (pro prehlednost napisi jen tu cast) Formular: Zde je klasicky formular v nem moznost <input type=file size=35 name="jmeno_souboru"> druhy soubor: Send (funkce na ulozeni) if (copy($jmeno_souboru, "temp/$jmeno_souboru_name")) { echo "<br>Hotovo."; echo "Soubor $jmeno_souboru_name byl zkopírován.<br>"; //unlink ($jmeno_souboru); } else {echo "Chyba pri kopirovani souboru.";} tento skript mi soubor nechce ulozit a porad to ukazuje chybu. Poradte prosim jak to vyresit. Dekuji
-
1. Nenapsal jsi JAKOU chybu ti to hází 2. Na první pohled mě zaujalo: - copy je na WZ zakázáno - copy se na toto nepoužívá. K přesunu nahraného souboru se používá příkaz move_uploaded_file: http://cz.php.net/manual/cs/function.move-uploaded-file.php - nevím, co máš v proměnné $jmeno_souboru, ale obvykle se používá něco takového: if (move_uploaded_file($_FILES['jmeno_souboru']['tmp_name'], "temp/$jmeno_souboru_name"))
-
>nevím, co máš v proměnné $jmeno_souboru pri zapnutych register_globals je mozne pouzit tuto promennou (a z ni odvozene) ve stejnem kontextu jako superglobalni $_FILES. Predpokladam, ze formular zacina takto: <form enctype="multipart/form-data" action="TVOJE_URL" method="post"> ... <input type="file" name="jmeno_souboru"> ... </form> Nakonec, lepsi by bylo pouzit pole $_FILES: <?php if (move_uploaded_file($_FILES['jmeno_souboru']['tmp_name'], "temp/".$_FILES['jmeno_souboru']['name'])) echo "<br>Hotovo. Soubor ".$_FILES['jmeno_souboru']['name']." byl zkopírován.<br>"; else echo "Chyba pri kopirovani souboru."; ?>
-
Jo to ja vím, ale spoléhat na zapnuté register_globals je riskantní a v budoucnu se může vymstít při přenosu skriptu na jiný server.