Autor | Zpráva | ||
---|---|---|---|
kozusnik.jan Profil * |
#1 · Zasláno: 2. 6. 2010, 18:11:59
DObrý den, v knížce jsem našel tento php skript:
<?php if($ok) { $soubor = "a_" . date("Ymd_Gis") . ".html"; $fp = fopen($soubor, "w") or die ("Nelze otevřít soubor!!"); fwrite($fp, "<h1 align=center>$album</h1>\n"); fwrite($fp, "<p align=center><i>$popis</i></p>\<p>\n"); fwrite($fp, "<p><p align=center>\n"); for($i=1; $i<=5;$i++) { $fotka = "fotka" . $i; $fotka_name = $fotka . "_name"; $fotka_type = $fotka . "_type"; $fotka_size = $fotka . "_size"; $popis = "popis" . $i; if($$fotka_type=="image/jpeg" || $$fotka_type=="image/pjpeg" || $$fotka_type=="image/gif" || $$fotka_type=="image/x_png" ) { copy($$fotka, "./images/{$$fotka_name}") ; fwrite($fp, "<table align=left><tr><td align=center>"); fwrite($fp, "<a href=\"./images/{$$fotka_name}\" target=\"foto\">"); fwrite($fp, "<img src=\"./images/{$$fotka_name}\" alt=\"Fotografie\" border=0 width=300></a> </td></tr>\n"); fwrite($fp, "<td><td align=center><i>{$$popis}</i>\n"); fwrite($fp, "</table>"); } if($i==3) fwrite($fp, "<br clear=left\n"); } fwrite($fp, "</p>\n"); fclose($fp); Header("Location: $soubor"); } else { ?> <form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data"> <table> <tr> <td><b>Album:</b></td><td><input type="text" size="25" name="album" /></td> </tr> <tr> <td><b>Popis:</b></td><td><input type="text" size="25" name="popis" /></td> </tr> </table> <table corder=1> <tr> <th>Fotky</th><th>Soubor</th><th>Popis</th> </tr> <tr> <td>1</td><td><input type="file" name="fotka1" /></td><td><input type="text" name="popis1" /></td> </tr> <tr> <td>2</td><td><input type="file" name="fotka2" /></td><td><input type="text" name="popis2" /></td> </tr> <tr> <td>3</td><td><input type="file" name="fotka3" /></td><td><input type="text" name="popis3" /></td> </tr> <tr> <td>4</td><td><input type="file" name="fotka4" /></td><td><input type="text" name="popis4" /></td> </tr> <tr> <td>5</td><td><input type="file" name="fotka5" /></td><td><input type="text" name="popis5" /></td> </tr> </table> <input type="submit" name="ok" value="Vložit" /> </form> <?php } ?> Mohli byste mi proím vysvětlit některé věci : for($i=1; $i<=5;$i++) { $fotka = "fotka" . $i; $fotka_name = $fotka . "_name"; $fotka_type = $fotka . "_type"; $fotka_size = $fotka . "_size"; $popis = "popis" . $i; z tohoto zapisu nechapu: $fotka_name = $fotka ."_name"; taky jsem nepochopil toto : if($$fotka_type=="image/jpeg" || $$fotka_type=="image/pjpeg" || .............. - proč před některými proměnnými je 2x znak $ dále jsem nepochopil , proč je v tomto zápise : fwrite($fp, "<td><td align=center><i>{$$popis}</i>\n"); |
||
ShiraNai7 Profil |
#2 · Zasláno: 2. 6. 2010, 23:04:33
Dvojity $$ je promenna promenna.. promenne jmeno promenne.. takto:
$jedna = 'dva'; $dva = 'ahoj'; echo $$jedna; // napise ahoj V hranatych zavorkach to je kvuli pouziti v retezci. Je to celkem hnusne a zbytecne slozite napsany skript, na to ze je z knizky.. |
||
kozusnik.jan Profil * |
#3 · Zasláno: 3. 6. 2010, 08:14:14
Jo dík. Mohla bys mi ještě vysvětlit z tohoto úseku :
for($i=1; $i<=5;$i++) { $fotka = "fotka" . $i; $fotka_name = $fotka . "_name"; $fotka_type = $fotka . "_type"; $fotka_size = $fotka . "_size"; $popis = "popis" . $i; tento zápis: $fotka_name = $fotka ."_name"; Moc jsem to nepochopil :-( |
||
Laman Profil |
#4 · Zasláno: 3. 6. 2010, 10:43:14
$fotka_name = $fotka ."_name"; spojí dohromady řetězce $fotka a "_name". např.: $fotka="fotka" . $i;// třeba když $i je 1, tak $fotka = "fotka1" $fotka_name=$fotka . "_name";// pak $fotka_name="fotka1_name" snad jsem to napsal aspoň trochu srozumitelně |
||
AM_ Profil |
#5 · Zasláno: 3. 6. 2010, 11:52:28 · Upravil/a: AM_
Ten kód je opravdu hodně vepřový, kup si jinou knihu, tahle je dobrá leda na chladné zimní večery jako otop.
To, co je tady řešeno krkolomným a nepřehledným způsobem dynamického pojmenovávání proměnných (u složitějších programů by to vedlo k totálnímu chaosu), se dá naprosto elegantně řešit polem, což je i pro začátečníka mnohem snáze pochopitelné a vlastně na polích stojí celé programování. Pokud toto autor knihy nevěděl, vůbec se do jejího psaní neměl pouštět. Leda snad že by to bylo v kapitole "Dynamické pojmenování proměnných a odstrašující příklady, proč se jej snažit nepoužívat". |
||
Joan Profil |
#6 · Zasláno: 3. 6. 2010, 12:58:31
Ehm, nejmenuje se snad ta kniha "PHP 5 začínáme programovat" od Jiřího Brázy z nakladatelství Grada? Mám ji taky a kvůli jednomu pro začátečníka velmi podstatnému vynechanému řádku jsem ztratila několik dní... Pak jsem na chybu došla, ale toho času ztraceného!
P.S.: Doporučte mi prosím jinou sehnatelnou knihu! |
||
kozusnik.jan Profil * |
#7 · Zasláno: 3. 6. 2010, 19:52:28
Jo, je to PHP 5, začínáme programovat od Jiřího Brázy. Jsem si říkal, kdovíjakou knížku to nemám, a ona je taková.... :-( . Tak nic. Taky jsme v ní našel nějaké chyby. Např. funkce header, taky jsem z ní nepochopil objekty,..... no a pak tento skript, to mě úplně dostalo. Mohli byste mi poradit nějakou lepší? Mockrát dík.
Laman:Dík za radu. Už jsem to pochopil. |
||
Časová prodleva: 14 dní
|
|||
meydlo Profil * |
#8 · Zasláno: 17. 6. 2010, 16:45:53
;) Ja som z tou knihou velmi spokojny... (ano su tam par chyb...ale " i mistr. tesar se nekdy utne" :) )
|
||
AM_ Profil |
#9 · Zasláno: 17. 6. 2010, 22:20:01
ano, teď se ti třeba zdá, že to je pěkně vysvětlené, nicméně ta kniha učí dost nesmysly. Tady nejde o chyby ve tvrdém y, ale o to, že učí koncepčně špatné programování (tedy, jak jsem řekl, pokud je ten skript myšlen "takhle se to dělá", a ne jako vykonstruovaný příklad dynamického pojmenování, které se ale takto určitě nepoužívá).
|
||
Časová prodleva: 14 let
|
0