Autor | Zpráva | ||
---|---|---|---|
n5ver Profil |
#1 · Zasláno: 20. 6. 2011, 15:42:04 · Upravil/a: n5ver
Ahoj, uploadování obrázku mi jako takové funguje. Rozhodl jsem se připsat omezení na 300 kb, ale to mi nefunguje. Soubor se uploadne, i když je větší. Mám to napsané takto:
<? $limit = 300000; $soubor_name = ($_FILES["soubor"]["name"]); $soubor = ($_FILES["soubor"]["tmp_name"]); $soubor_size = ($FILES["soubor"]["size"]); $ok = ($_POST["ok"]); $popis = ($_POST["popis"]); $kam = ($_POST["kam"]); if ($ok == "Nahraj" && $soubor_name!="" && $popis!="") { if (!$soubor_size >= $limit){ if (move_uploaded_file($soubor, "pic/foto/$soubor_name")) { chmod ("pic/foto/$soubor_name", 777); $query = MySQL_Query("INSERT INTO galerie (soubor, popis, kam) VALUES ('".$soubor_name."', '".$popis."', '".$kam."')") or die(mysql_error()); header("location:administrace.php?p=galerie"); echo "<p><b>Soubor $soubor_name byl nahrán na server. $nazev</b></p>"; } } else { echo "<p><b>Chyba - soubor nebyl nahran</b></p>"; } } ?> |
||
Tori Profil |
#2 · Zasláno: 20. 6. 2011, 15:47:22 · Upravil/a: Tori
Překlep, čtete z jiného pole.
Mohla jsem napsat č.řádku, pravda. |
||
n5ver Profil |
#3 · Zasláno: 20. 6. 2011, 16:45:22 · Upravil/a: n5ver
Aha. Už to vidím. Děkuji.
|
||
Taps Profil |
#4 · Zasláno: 20. 6. 2011, 17:00:53
n5ver:
„Coze? Ja nikde preklep najit nemuzu.“ opravdu ? a co je toto $soubor_size = ($_FILES["soubor"]["size"]); |
||
n5ver Profil |
#5 · Zasláno: 20. 6. 2011, 22:43:50
Tak to mám opravené. Když je soubor moc veliký, tak se nenahraje, ale i když je správně veliký, tak se nenahraje. Nepíše to chybu, že je soubor moc veliký, ale jenom Chyba - soubor nebyl nahrán. Nevíte v čem to může být?
<? $limit = 300001; $soubor_name = ($_FILES["soubor"]["name"]); $soubor = ($_FILES["soubor"]["tmp_name"]); $soubor_size = ($_FILES["soubor"]["size"]); $ok = ($_POST["ok"]); $popis = ($_POST["popis"]); $kam = ($_POST["kam"]); if ($ok == "Nahraj" && $soubor_name!="" && $popis!="") { if (!$soubor_size >= $limit){ if (move_uploaded_file($soubor, "pic/foto/$soubor_name")) { chmod ("pic/foto/$soubor_name", 777); $query = MySQL_Query("INSERT INTO galerie (soubor, popis, kam) VALUES ('".$soubor_name."', '".$popis."', '".$kam."')") or die(mysql_error()); header("location:administrace.php?p=galerie"); echo "<p><b>Soubor $soubor_name byl nahrán na server. $nazev</b></p>"; } } else { echo "<p><b>Chyba - soubor nebyl nahrán."; } } else { echo "Nebyly vyplněny všechny údaje!"; } if ($soubor_size >= $limit){ echo " Soubor je moc velký. Maximální povolená velikost je 300 kb.</b></p>"; } ?> |
||
Ben Profil * |
#6 · Zasláno: 20. 6. 2011, 23:15:40
a co spis nejak takto?
<? $limit = 300001; $soubor_name = ($_FILES["soubor"]["name"]); $soubor = ($_FILES["soubor"]["tmp_name"]); $soubor_size = ($_FILES["soubor"]["size"]); $ok = ($_POST["ok"]); $popis = ($_POST["popis"]); $kam = ($_POST["kam"]); if ($ok == "Nahraj" && $soubor_name!="" && $popis!=""){ //soubor size musi byt mensi nez limit if ($soubor_size < $limit){ if(move_uploaded_file($soubor, "pic/foto/$soubor_name")){ chmod ("pic/foto/$soubor_name", 777); $query = MySQL_Query("INSERT INTO galerie (soubor, popis, kam) VALUES ('".$soubor_name."', '".$popis."', '".$kam."')") or die(mysql_error()); header("location:administrace.php?p=galerie&nahrano=ok"); //toto echo se ti nikde nevypise, pouzij dalsi GET promenou(napr: $_GET["nahrano"] a overuj v souboru administrace.php, jestli je poslana a tam az vypis, ze to bylo uspesne nahrano) a //echo "<p><b>Soubor $soubor_name byl nahrán na server. $nazev</b></p>"; } else{ echo"soubor se nepodarilo premistit do slozky pic/foto/"; } } else{ echo "Soubor je moc velký. Maximální povolená velikost je 300 kb."; } } else{ echo "Nebyly vyplněny všechny údaje!"; } ?> |
||
Ben Profil * |
#7 · Zasláno: 21. 6. 2011, 01:45:37
a další věc, co musíš při tomto ošetřit, je zabránění duplicitních názvů souborů(např přidat čas k názvu uloženého souboru), odstranění nechtěných znaků z názvů nahrávaných souborů(diakritika, mezery, atd...)
|
||
n5ver Profil |
#8 · Zasláno: 21. 6. 2011, 15:37:20
Tak duplicitní název nevadí, protože každý soubor má své id. K článku se obrázky vypisují podle položky kam, která představuje id článku, ke kterému obrázek patří.
|
||
Tori Profil |
#9 · Zasláno: 21. 6. 2011, 16:05:53
n5ver:
„každý soubor má své id“ V databázi snad, ale ve filesystému ukládáte všechno do jednoho adresáře pod původními názvy. |
||
Časová prodleva: 13 let
|
0