Moro!
Mulla on nyt tekeillä yks PHP-scripti. Siinäpä tuli nyt vastaan onkelma. En saa tiedostosta muuttujia toiseen tiedostoon.
Mulla on siellä nyt tiedosto näin:
<html> <head> <script language="JavaScript"> <!-- function uusi_ikkuna(w, h) { window.open("", "iso_kuva", 'scrollbars=no,width='+w+',height='+h+''); } //--> </script> </head> <?php echo "<H1>".$otsikko."</H1>"; echo "<b>".$kuvaus."</b>"; $viestit = file("asetukset.txt"); for ($i = 0; $i < $viestimaara; $i++) { $tiedot = explode("|", $viestit[$i], 8); $taustakuva = $tiedot[0]; $taustavari = $tiedot[1]; $fontti = $tiedot[2]; $fonttivari = $tiedot[3]; $sarake = $tiedot[4]; $thulev = $tiedot[5]; $thukor = $tiedot[6]; $otsikko = $tiedot[7]; $kuvaus = $tiedot[8]; echo "<body bgcolor=\"$taustavari\">"; echo "<body background=\"$taustakuva\">"; echo "<font face=\"$fontti\" color=\"$fonttivari\">"; $polku = getcwd(); $sarakkeet = $sarake; $img_width = $thulev; $img_height = $thukor; $sarakkeet -= 1; function listaa() { global $polku; if ($handle = opendir($polku)) { while (false !== ($file = readdir($handle))) { $files[] = $file; } closedir($handle); } return $files; } $files = listaa(); print "<center><table border=0>"; for ($i = 2; $i <= count($files); $i++) { print "<tr>"; for ($i2 = $i; (($i2 - $i) <= $sarakkeet) && file_exists($files[$i2]); $i2++) { $s = $files[$i2]; $mtime = filemtime($files[$i2]); $stamp = date("d.m.Y @ H:i:s", $mtime); /* jos kuva on jpg jpeg bmp tai gif kuva näytetään */ if (substr($s, strlen($files[$i2]) - 3, 3) == "jpg" || substr($s, strlen($files[$i2]) - 4, 4) == "jpeg" || substr($s, strlen($files[$i2]) - 3, 3) == "bmp" || substr($s, strlen($files[$i2]) - 3, 3) == "gif") { $img_size = getimagesize($s); print "<td> <a href=\"".$s."\" border=0 alt=\"".$stamp."\" target=\"iso_kuva\" onClick=\"uusi_ikkuna($img_size[0] + 26,$img_size[1] + 26);\"> <img src='".$s."' width=".$img_width." height=".$img_height." border=0> </a> <br> <font style=\"font-size: 60%\" color=\"#ffffff\">".$stamp."</font> </td>"; } else $i += 1; $u = 1; } print "</tr>"; if ($u == 1) { $i = $i2 - 1; $u = 0; } } print "</table></center>"; } ?> </body> </html>
Tuossa sen pitäis ottaa muuttujat tiedostosta asetukset.txt, muttei ota. Muissa jutuissa tämä on kyllä toiminu, onko mula lipsahtanu tuonne virhe vai sotkeeko muut php-koodit tuota?
<?php echo "<H1>".$otsikko."</H1>"; echo "<b>".$kuvaus."</b>"; $viestit = file("asetukset.txt"); for ($i = 0; $i < $viestimaara; $i++) { $tiedot = explode("|", $viestit[$i], 8); // jatkuu ?>
Tossahan se virhe on. mikäli et huomaa niin jatka lukemista:
1. erosta muuttujaa ei ole asetettu...
2. kirjoitat erään muuttujan joka kerta yli...
3. avoin sulku
4. asetukset ei maagiesti ilmesty aiempaan koodiin
5. tulostat monta body tagia
Tässä vielä vähän korjattu en ymmärrä mitä ajat takaa koodillas
Siihen liittyy muitakin tiedostoja ;) kuvagalleriakoodi olis tarkotus tuosta tulla. Muuttujilla laitetaan lomakkeessa fontit, taustat, otsikot, kuvaukset jne.
Muuttujat ei kyl toimi viel siinä :O
Kaikki kunnossa :) kiitti avusta
Hmmh.. miten tässä saa laitettua ladatulle tiedostolle muuttujan? et se uploadattu tiedosto olis joku muuttuja, sillein vois laittaa esim. aukeemaan sen avulla sen upitun tiedoston. tää olinyt esimerkkinä vaamn, se ei oo tarkotus.
<?php $uploaddir = '/home/toni/public_html/muuta/kuvat/kuvat/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { header("Location: http://www.arkku.net/~toni/muuta/kuvat/"); } else { echo "Possible file upload attack!\n"; } echo ''; ?>
Ylempään ei tartte enään vastausta. Nyt tuli taas uus onkelma:
Mulla on polku näin:
$polku = "/home/toni/public_html/muuta/Galleria/kuvat";
mut tuo ei ota kuvia tuosta kansiosta. Mikä vikana?
Tontttu kirjoitti:
$polku = "/home/toni/public_html/muuta/Galleria/kuvat";
Hm, tarkistahan polun nimen isot ja pienet kirjaimet. Unix-pohjaiset systeemit kun välittävät kirjainkoosta hieman..
-Grey-
Joo, ne on ihan oikein. Polku kyllä on oikein, muuten se rupee valittamaan siitä. Miten muuten ne kuvat voi hakee toisesta kansiosta?
Luulenpa että vika piilee siinä, että yrität käyttää rootista alkavaa polkua, kun sen sijaan pitäisi käyttää serverrootista eli tässä tapauksessa oletettavasti tuosta /home/toni/public_html:stä alkavaa polkua. Kokeilepa laittaa polku muotoon /muuta/Galleria/kuvat ja tsekkaa toimiiko, skriptistä riippuen voi olla myös että viimeinenkin hakemisto pitäisi lopettaa kauttaviivaan.
Ei auttanu. Sai aikaan vaan virheilmon:
Warning: opendir(/muuta/Galleria/kuvat): failed to open dir: No such file or directory in /home/toni/domains/toni.arkku.net/public_html/
Jos olet hakemistossa Galleria, ja haluat rääppiä sen alihakemistoa (niinku tuo kuvat näyttäis olevan), niin poluksi riittää ihan vaan tuo kuvat.
Juu. Nyt on kaverin avulla saatu muutosta tiedostoon, vielä jotakin pielessä. Mitä?
<html> <head> <script language="JavaScript"> <!-- function uusi_ikkuna(w, h) { window.open("", "iso_kuva", 'scrollbars=no,width='+w+',height='+h+''); } //--> </script> </head> <font face="$fontti" color="$fonttivari"> <?php $viestit = file("galleria.txt"); $tiedot = array(); foreach ($viestit as $viesti) { $tiedot = explode("|", $viesti, 10); $taustakuva = $tiedot[0]; $taustavari = $tiedot[1]; $fontti = $tiedot[2]; $fonttivari = $tiedot[3]; $sarake = $tiedot[4]; $thulev = $tiedot[5]; $thukor = $tiedot[6]; $otsikko = $tiedot[7]; $kuvaus = $tiedot[8]; $fonttikoko = $tiedot[9]; } echo "<H1><font face=\"$fontti\" color=\"$fonttivari\">$otsikko</H1>"; echo "<b>$kuvaus</b></font>"; echo "<body background=\"$taustakuva\" bgcolor=\"$taustavari\">"; $polku = "/home/toni/public_html/muuta/Galleria/kuvat"; $sarakkeet = $sarake; $img_width = $thulev; $img_height = $thukor; $sarakkeet -= 1; function listaa() { global $polku; if ($handle = opendir($polku)) { while (false !== ($file = readdir($handle))) { $files[] = $file; } closedir($handle); } return $files; } $files = listaa(); print "<center><table border=0>"; for ($i = 2; $i <= count($files); $i++) { print "<tr>"; for ($i2 = $i; (($i2 - $i) <= $sarakkeet) && file_exists($files[$i2]); $i2++) { $s = $files[$i2]; $s = "kuvat/".$s; $mtime = filemtime($files[$i2]); $stamp = date("d.m.Y - H:i:s", $mtime); if (substr($s, strlen($files[$i2]) - 3, 3) == "jpg" || substr($s, strlen($files[$i2]) - 4, 4) == "jpeg" || substr($s, strlen($files[$i2]) - 3, 3) == "bmp" || substr($s, strlen($files[$i2]) - 3, 3) == "gif") { $img_size = getimagesize($s); print "<td> <a href=\"".$s."\" border=0 alt=\"".$stamp."\" target=\"iso_kuva\" onClick=\"uusi_ikkuna($img_size[0] + 26,$img_size[1] + 26);\"> <img src='".$s."' width=".$img_width." height=".$img_height." border=0> </a> <br> <font style=\"font-size: $fonttikoko\" color=\"$fonttivari\">".$stamp."</font> </td>"; } else $i += 1; $u = 1; } print "</tr>"; if ($u == 1) { $i = $i2 - 1; $u = 0; } } print "</table></center>"; ?> </body> </html>
Tontttu kirjoitti:
Juu. Nyt on kaverin avulla saatu muutosta tiedostoon, vielä jotakin pielessä. Mitä?
Et sitten viitsi kertoa tarkemmin mikä siinä on vikana?
No, ylemmät viestit lukemalla saa selville, et mitä oon tekemässä. Virheilmotustahan tuosta ei tuu, vaan kuvat ei vaan näy. Mikä siinä vielä on huonosti ku ei näy?
Tarkennuksena vielä siis, että toi on laitettu näyttämään samalla sivulla olevat kuvat. Siitä pitäs muokata niin, että se näyttää kuvat, jotka on kuvat nimisessä alikansiossa. Tän valmiiks saamisella on pieni kiire, huomenna pitäis olla valmis. Olis kiva kun saisin apua :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.