Autor Zpráva
kozusnik.jan
Profil *
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");
proměnná se 2 "dolary" a proč je to celé ve složených závorkách
ShiraNai7
Profil
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 *
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
$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
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
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 *
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.
meydlo
Profil *
;) Ja som z tou knihou velmi spokojny... (ano su tam par chyb...ale " i mistr. tesar se nekdy utne" :) )
AM_
Profil
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á).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0