A szript jelenleg a következõ: <?php $szoveg=@file("proba.htm"); //HTML beolvasása //Végigmegyünk a szövegen $k=0; for ($i=0; $i<count($szoveg); $i++) { //Ha találtunk megfelelõ kifejezést rögzítjük if (ereg ("<img[^>]*>", $szoveg[$i], $buffer)) { ereg ("<img[^>]*>", $szoveg[$i], $regs[$k]); $k++; } } //Kiírjuk a megtalált sorokat for ($i=0; $i<count($regs); $i++) { for ($j=0; $j<count($regs[$i]); $j++) { print ($regs[$i][$j]."\n"); } } ?>
Ez a szkript jelenleg arra képes, hogy az egymás utáni sorokban levõ <img...> tag-okat gyüjti össze. A "<img[^>]*>" reguláris kifejezést kéne valahogy kibõvíteni, hogy az egymás melletti <img...> tagokat is megtalálja.
CattiBrie: Jelenleg még elég lenne az összes img tag-ot kiszedni...
azt nem értem hogy ha végig keres az egész szövegben akkor az egymás mellet lévõket miért nem látja? :S
de muszály ezzel a regular cucccal ? én csak splittelgetném a kódot, szal megkeresném a kov img-s részt azt bementeném a tombbe aztán addig torolném a kódot a változóból, aztán megint a kovetkezot berakni, addig torolni és a végén elfogyna a kód a változóból és kész
Mutass rá példát! Egyébként a split is reguláris kifejezéseket használ.
sry nemtudok példát nincs most php támogatás a gépemen nemtudom leprószálni
ÜDV! Segítséget kérek tõletek! html-ben vagyok valamennyire otthon és most egy olyan scrpit kéne, ami egy adott linkre való kattintást számol, magyarul hogy például egy fájl linkje mellett ott legye, hogy "eddig ## letöltés". Az sem baj, ha esetleg java a script, tán még az egyszerûbb php-vel is boldogulnék. Köszi elõre is.
A Content type részhez ebbõl a listából választhatsz.
Köszi, elolvastam, de nem értem, hogy mind a 3 kell-e? Az elsõt tettem be a html body kódrészébe a következõk szerint:
<?php $filename="szamlalo".$id.".txt"; $num=0; //Ha létezik a számlálófile... if (file_exists($szamlalo.txt)){ $fp = fopen($szamlalo.txt,"r"); //Megnyitjuk olvasásra $num = fread($fp, filesize($szamlalo.txt)); //Beolvassuk a számláló jelenlegi értékét fclose($fp); //Zárjuk a file-t. } $num = $num + 1; //Növeljük a számlálót $fp = fopen($szamlalo.txt, "w"); //Megnyitjuk a file-t írásra fwrite($fp, $num, 10); //Írunk fclose($fp); //Zárunk switch ($id) { case 1: header("Content-Type: image/jpeg"); //JPEG kép lesz @readfile ("ssstalker_kepek01.zip") or die("A fájl nem érhetõ el!"); //Ezt a file-t jelenítjük meg/kínáljuk letöltésre. break; } ?>
Amikor viszont megnézel az oldalt, nem jelenik meg rajta sem szám, se file letöltési link. Mit csinálok rosszul? Vagy hogyan kéne?
Betettem az egész kódot és kitöltöttem, de akkor meg ennyi jelent meg:
Eddigi letöltések száma: ".$num."
"); ?> Letöltés Letölti ugyan a file-t, mert magadtam neki a küdban az elérést, de egyrészt nem méri az értéket (hogy hány letöltés volt), másrészt ott van az a pár jel a Letöltés szó elõtt is, aminek szerintem nem kéne ott lenni. Szerintem valamit nagyon rosszul csinálok.
1. A zip file mióta image/jpeg? Lásd #830. Inkább: application/x-compressed, vagy application/x-zip-compressed vagy application/zip vagy multipart/x-zip 2. Mind a három kell. A download.php adja ki a file-t, a count.php számol, a 3. meg listázza a letöltendõ file-okat. MINDHÁROMNAK .php kiterjesztésûnek kell lennie! 3. Eddigi letöltések száma: ".$num.""); ?> - Ez azért történhetett meg mert nem PHP-t kiszolgálni képes webszerveren futtattad le a kódot (ez nem HTML! nem lehet egyszerûen elmenteni egy .htm file-ba és ráhúzni a böngészõre!)
Értem. Tehát akkor mentsek el 3 php fájlt. Ez eddig rendben, a filename.hoz megadom mindenhová, hogy szamlalo.txt, ez is rendben, viszont a letöltendõ fájlok listáját nem értem. Hol adjam meg, hogy a kattintásra tulajdnoképpen mit is akarok belinkelni? Egyébként a content rész most már tiszta: ha tehát mondjuk zip-et akarok letölteni, akkor a header("Content-Type: image/jpeg"); //JPEG kép lesz sorban cseréljem ki a megfeleõre a image/jpeg részt. Remélem ezt legalább jól mondom. Egyébként szerintem (sõt biztos) én bénáztam a számlálónál, mert a szerver futtat php-t.
" filename.hoz megadom mindenhová, hogy szamlalo.txt" Annál egy kicsit bonyolultabb a helyzet. Az $id változó értéke, ami egy szám, határozza meg, hogy melyik file-hoz készít stattsztikát. $filename="szamlalo".$id.".txt"; /* Ide jön a download.php többi része */ switch ($id) { case 1: //Ha a $id értéke 1 header("Content-Type: application/zip"); //Zip file lesz @readfile ("ssstalker_kepek01.zip") or die("A fájl nem érhetõ el!"); //Ezt a file-t jelenítjük meg/kínáljuk letöltésre. break; case 2: //Ha a $id értéke 2 header("Content-Type: application/zip"); //Zip file lesz @readfile ("ssstalker_kepek02.zip") or die("A fájl nem érhetõ el!"); //Ezt a file-t jelenítjük meg/kínáljuk letöltésre. break; }
<a href="download.php?id=1">Letöltés: ssstalker_kepek01.zip</a> <?php include ("count.php?id=1"); ?> <a href="download.php?id=2">Letöltés: ssstalker_kepek02.zip</a> <?php include ("count.php?id=2"); ?>
Tehát: ha a download.php $id értéke 1 lesz (?id=1), akkor a szamlalo1.txt-t fogja megnyitni, ha létezik abból olvas ki, annak az értékét növeli meg 1-el, és a ssstalker_kepek01.zip file-t kínálja letöltésre.
De ha a download.php $id értéke 2 lesz (?id=2), akkor a szamlalo2.txt-t fogja megnyitni, ha létezik abból olvas ki, annak az értékét növeli meg 1-el, és a ssstalker_kepek02.zip file-t kínálja letöltésre.
uw: http://max7.uw.hu <----- így van reki http://max7.uw.hu/index.html <----- így nincs! megoldás: fogsz egy aldomain átirányító szolgáltatást pl try.hu és a második linket beteszed!
Atw: http://max7.atw.hu/ <----- így van reklám http://users.atw.hu/max7/index.html <--- így nincs reki 2 másodpercig megoldás: fogsz egy aldomain átirányító szolgáltatást pl try.hu és a második linket beteszed és nem fog 2 másodperc után frisíteni!
ha nem volt elég érhetõ megpróbálok jobban foglamazni ;] használjátok egéségel ezeket a megoldásokat amíg rá nem jönnek
Bye: Max7
de ezeket ha jól tom figyelik, mármint hogy hogyan vannak megnyitva az oldalak, és ha reklám nélkül használod, akkor akár törölhetnek is
de annyira nem érdekelnek kapják be nem tudom hogy gondolják hogy 7e ft-ot ki fogok fizetni a reklámenteségért azért már webhostingot veszek 500 megát meg kapok hozzá domain nevet is és azok garantálják a 99,9%-os rendelkezésre álási idõt! az uw meg atw benne van hogy semiért nem válal felelõséget akkor baxák meg :)
És olyan számlálót tudsz nekem mutatni (php-ben akár), hogy egy oldalra (htm vagy html) hányszor léptek fel (vagyis hányszor töltötték le), és ezt számokkal meg is jeleníti mondjuk ugyanazon az oldalon vagy egy másik (azonos almappában lévõ) oldalon. Van valami ilyesmi?
(ha az f5-öt nyomkodod nõ a szám vagy olyan kell ami ip alapján nézi tehát a tényleges látogatókat? megyek póstára meg könyvelõhöz 7-8 körül vok és adom a másikat ha az kell!)
$File = "statisztikak/counter.txt"; # számláló fájl elérési úttal if (file_exists($File)) # fa létezik a fájl { $fp = fopen($File,"r"); # megnyitja olvasásra $num = fread($fp, filesize($File)); # kiolvassa a tartalmát fclose($fp); # bezárja $num = $num + 1; # hozzáad egyet $fp = fopen($File, "w"); # újra megnyitja írásra fwrite($fp, $num, 10); # felülírja az új értékkel és zárja a fájlt fclose($fp); echo("Lapletöltések száma: <B><br>". chop($num) ."</B>"); # kiírja a lapon az új értéket. } if ($showhtml == 1 ) { echo '</body></html>';} }
$kimenet=$date.chr(9).$time.chr(9).$oldal.chr(9).$ipcim.chr(9).$host.chr(9).$bongeszo."\n"; fwrite ($handle,$kimenet); fclose($handle); header("Content-Type: image/jpeg"); @readfile ("counter.gif") or die("A fájl nem érhetõ el!"); ?> A stat.php könyvtárában legyen a counter.gif (tetszõleges kép), illetve egyes ingyenes webtárhelyek esetén létre kell hozni a stat.txt-t is (ne legyen benne semmi, egyszerû 0 byte-os szövegfile legyen).
Beillesztése a HTML kódba: <img border="0" src="stat.php?site=index.html" alt="Statisztika" />
Oldalszámláló kód (sitecounter.php): <?php $filename="sitecounter.txt"; //A számlálófile neve $oldal=$_GET["site"]; //A ?site változó lekérdezése $bemenet = @file($filename); //A számlálófile megnyitása $talalat=0; //Nem találtunk még semmit //Végigmegyünk a file adatain... for ($i=0; $i<count($bemenet); $i++) { $resz = explode(chr(9), $bemenet[$i]); //Két részre szedünk szét egy sort: egy oldalra, és egy oldal-számlálóra $resz[1]=str_replace("\n","",$resz[1]); //A számláló mögûl kiszedjük a sortörést //Ha megtaláljuk az oldal nevét... if (($resz[0]==$oldal)) { $resz[1]++; //Növeljük a számlálóját $talalat=1; //És jelezzük, hogy találtunk valamit } $kimenet[$i]=$resz[0].chr(9).$resz[1]."\n"; //Újraegyesítjük az oldalt+a számlálóját }
//Ha nem találtunk meg az oldal nevét... if ($talalat==0) { $kimenet[]=$oldal.chr(9)."1\n"; //Létrehozunk egy új bejegyzést } //Megnyitjuk írásra az állományt. $handle=fopen($filename, "w"); for ($i=0; $i<count($kimenet); $i++) { fwrite ($handle,$kimenet[$i]); //És beleírjuk az adatokat } fclose($handle); //Zárjuk az állományt header("Content-Type: image/jpeg"); @readfile ("sitecounter.gif") or die("A fájl nem érhetõ el!"); ?>
HTML kódba illesztése hasonló az elõzõhöz: <img border="0" src="sitecounter.php?site=index.html" alt="Statisztika" />
A létrehozott állomány (sitecounter.txt) egy sora tartalmazni fogja az oldal nevét, egy TAB karaktert (elválasztásként), és az oldal számlálóját.
Oké, tehát ha jól értem, készül egy sitecounter.txt nevû fájl (txt), egy sitecounter.php nevû fájl (php) és azt az utolsó egy sort ágyazoM a mérendõ oldal HTML kódjába továbbá mindent értelem szerûen kitöltök. Kipróbálom, köszi.
jól érteted :) Dj faustus meg már megin megelõzött :)
<?php $filename="sitecounter.txt"; //A számlálófile neve $oldal=$_GET["site"]; //A ?site változó lekérdezése $bemenet = @file($sitecounter.txt); //A számlálófile megnyitása $talalat=0; //Nem találtunk még semmit //Végigmegyünk a file adatain... for ($i=0; $i<count($bemenet); $i++) { $resz = explode(chr(9), $bemenet[$i]); //Két részre szedünk szét egy sort: egy oldalra, és egy oldal-számlálóra $resz[1]=str_replace("\n","",$resz[1]); //A számláló mögûl kiszedjük a sortörést //Ha megtaláljuk az oldal nevét... if (($resz[0]==$oldal)) { $resz[1]++; //Növeljük a számlálóját $talalat=1; //És jelezzük, hogy találtunk valamit } $kimenet[$i]=$resz[0].chr(9).$resz[1]."\n"; //Újraegyesítjük az oldalt+a számlálóját }
//Ha nem találtunk meg az oldal nevét... if ($talalat==0) { $kimenet[]=$oldal.chr(9)."1\n"; //Létrehozunk egy új bejegyzést } //Megnyitjuk írásra az állományt. $handle=fopen($sitecounter.txt, "w"); for ($i=0; $i<count($kimenet); $i++) { fwrite ($handle,$kimenet[$i]); //És beleírjuk az adatokat } fclose($handle); //Zárjuk az állományt header("Content-Type: image/jpeg"); @readfile ("sitecounter.gif") or die("A fájl nem érhetõ el!"); ?>
A sitecounter.txt-be alapból nem írtam semmit. A HTML-be illesztendõ részt a head állományba tettem.
Persze így nem mûködik, pedig a szerver futtat PHP-t.
Szerintem a kitöltést rontom el. NEm lehetne, hogy egy kitöltött kódot írtok. A mérendõ oldal neve index.html, a számlálófájl sitecounter.txt. (Egyébként annyit sikerül elérni, hogy egy "kép nem található" kockát Számláló felirattal jelenít meg.)
attól még hogy beilleszteted azt az alsó sort a html-edbe attól még nem fog számolni! a sitecounter.php fájlt egyidejüleg kell megnyitni a html fájlal aminek a legegyszerübb módja ha átnevezed az index.html fájlodat index. php-ra és az inluce dügvényel beilleszted az elsõ sorba:
include ("sitecounter.php");
egy helyen kell lennie az index.php-nak és a sitecounter.php-nak is
Ha megnézed a sitecounter.php uolsó sorait a következõ bejegyzést láthatod: header("Content-Type: image/jpeg"); @readfile ("sitecounter.jpg") or die("A fájl nem érhetõ el!"); Ez annyit csinál, hogy a kimenetre küld egy jpg képet (most látom, hogy a közölt kódban .gif a kiterjesztése - szóval helyesen .jpg-nek kell lennie - bocs). Ennek az az értelme, hogy a PHP-t futtatni nem képes oldalakba beépíthetõvé válik a PHP szkript (amit a PHP futtatni képes szerver futtat le).
Szóval akkor kapok egy kitöltött kódot? AMúgy meg ha csak úgy átnevezek egy html-t php-re, annak nem lesz jó vége...
Hi, milyen progival lehet letölteni honlapokat?
Mint az elõzõben írtam elírtam a kiterjesztést. Vagy átalakítod a .gif file-odat .jpg-vé, és a sitecounter.php-ben átírod a következõre a kódot: header("Content-Type: image/jpeg"); @readfile ("sitecounter.jpg") or die("A fájl nem érhetõ el!");
Vagy átalakítod a sitecounter.php-t a következõre (a .gif kiterjesztésû file marad): header("Content-Type: image/gig"); @readfile ("sitecounter.gif") or die("A fájl nem érhetõ el!");
Lényeg: mindenképpen legyen valami kép sitecounter.jpg/sitecounter.gif névvel.
Természetesen ezek csak a generált HTML oldalakat töltik le. A PHP kódokhoz fel kell menni a webtárhelyre (FTP-n keresztûl) és letölteni a .php állományokat.
Egyébként megjegyzem: más honlapjának lemásolása és sajátnak való beállítása, nagyfokú gerinctelenségre vall.
"Egyeltalán mi legyen azon a képen?" Teljesen mindegy. Akár lehet egy 1*1 pixeles háttérszinel megegyezõ színû kis képecske, vagy egy kis méretû átlátszó gif.
hello, html + css -el dolgozom és az a gond hogy a height:6px; -et a firefox figyelembe veszi viszont az IE nem... hogy lehetne akkor megadni egy elem magasságát ?
ez a css, és ez hozzá a html: <?xml version="1.0" encoding="iso-8859-2"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <link rel="stylesheet" type="text/css" href="style.css" /> <title>Valami</title> </head> <body>
</body> </html> firefoxban oké, de IE-vel ha nézem akkor az alján nem 6 px az also kek csík :S (a jobboldal még hiányzik de az most nemszámít) minden segítségért thx
sry hogy bemásoltam ilyen hosszan
Ha jól ertem, azt szeretnéd, hogy az oldalkialakítás a következõképp nézzen ki: * Legfelûl legyen egy banner, * Alatta a menû+a tartalom * A menû és a tartalom kétszer legyen keretezve. * Az elsõ (belsõ) keret felûl alul és balról világos színnel. * A második (külsõ) keret jobbról, balról, alul legyen sötét színnel.
Szerintem túlzottan elbonyolítottad a kódot. Helyette javaslom a következõ megoldást: <div id="banner"></div> <div id="outerborder"> <div id="innerborder"> <div id="menucol"> <!-- Ide jön a menû --> </div> <div id="contentcol"> <!-- Ide jön a tartalom --> </div> </div> </div> A CSS kódolshoz némi segítség: * A banner (nálad top) adja meg a felsõ csíkot. A float:left szvsz. felesleges, hacsak nem tervezel mellé még valamilyen tartalmat. * Az outerborder jelöli a külsõ keretet. Adj neki balról, alul, jobbról egy #006699 színû 6 pixel széles keretet a border-left/border-bottom/border-right tulajdonságokkal. A felsõ keret nem kell (border-top: none;). * Az innerborder a belsõ keretet jelöli Adj meg neki alul, felûl, és balról egy #CCCCCC színû 6 pixel széles keretet a border-left/border-top/border-bottom segítségével. * A külsõ keret 6 pixellel legyen szélesebb a belsõ keretnél. * A menucol és a contentcol a menût és a tartalmat jelöli. Mindkettõben szerepelnie kell a float:left-nek. Így talán IE 6 alatt is hajlandó lesz mûködni.
120 pixel széles menû 2*6 pixel széles keret a menûnek 756 pixel széles tartalom 2*6pixel széles keret a tartalomnak Az összesen 900 pixel Így elvileg ok. Gyakorlatilag az IE ezt semmibe veszi: body { background-color:#FFFFFF; color: #000000; margin: 10px 0 10px 10px; padding: 0; } #top { width: 900px; height:60px; padding: 0px; margin: 0px; background-image:url(kepek/top.jpg); } #outerborder{ width: 900px; height: 492px; border: 6px solid #006699; padding: 0px; margin: 0px; } #content { float: left; width: 756px; height: 480px; border: 6px solid #CCCCCC; margin: 0px; padding: 0px; } #menucol { float:left; width: 120px; height: 480px; margin: 0px; padding: 0px; background-color: #006699; color: #FFFFFF; border: 6px solid #CCCCCC } #menucol ul { margin: 0px; padding: 0px; list-style-type: none; } #menucol ul li { margin: 0; list-style-type: none; padding-bottom:2px; } #menucol a{ filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75); -moz-opacity: 0.7; background-color: #0099CC; color: #FFFFFF; display: block; border-left: 0px solid #006699; padding-left: 10px; text-decoration: none; height: 20px; } #menucol a:hover { filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100); -moz-opacity: 1.0; display: block; border-left: 5px solid #FFFFFF; padding-left: 16px; text-decoration: none; font-weight:bold; }
A te esetedben túl széles volt a tartalom (776 pixel).
najo má számolás se megy nekem
thx
a te kódodhoz most ezt a html-t használom: <?xml version="1.0" encoding="iso-8859-2"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <link rel="stylesheet" type="text/css" href="style.css" /> <title>Valami</title> </head> <body>
és ie-ben a szurke content keret nem elég széles (kb 12px van a szurke és a kék keret kozott jobboldalt és firefoxban meg túlszéles (a kék 12px-lel lóg ki jobbra a top alól a szurke meg 6-tal
Édes, kedves stormnet!
Küldtem privát üzenetet (nem küldtem volna el a stíluslappal együtt a HTML kódot? ), melyben megadtam egy IE 6/IE 5.5/FF 1.5/Opera 8.51 alatt jól mûködõ megoldást. Ide is beírom...
jah hát azért nem tettem innerbordert mert gondoltam hogy ha teszek a menunek és a contentnek bordert akkor az is megteszi :)
nemakar ez osszejonni... a te kódoddal ie-ben és ffben is 12 px-szel szélesebb volt mindkét keret, én erre levettem mindketto szélességébol 12-t erre ff-ben ok ie-ben meg teljesen eldeformálódott
ie-ben sem jó sry mert a "BlaBla" legalulra kerult
csináljak 12px-szel nagyobb bannerképet vagy meglehet ezt oldani ?
ok, végre megoldottam, még a tartalomból elfelejtettem levenni a 12px-et ezért dobta le, ok koszi a sok-sok helpt
még esetleg ha vki dobna egy linket valami leírásról hogy ezt az egész cuccot hogy tudom kozépre tenni...
#container{ position: relative; margin: 0 auto; width: 780px; height: 432px; } és egy ilyen divben van az egész cucc, ez igy valid ?
nemhinném mert ff-ben legjobbra van :D
Íme egy példa: #container { position: absolute; width: 770px; height: 577px; top: 50%; left: 50%; margin: -288px auto auto -385px; padding: 0px; border: none; } Tehát a felsõ margó a magasság felének -1-szerese, a jobb oldali a margó a szélesség felének -1-szerese.
Vagy nézd meg ennek az oldalnak a kódját. Vagy nézz szét itt.
http://www.tutorial.hu/content/view/113/28/ elolvatam ezt a tutoriált, a kérdésem csak annyi lenne hogy a linket azt hova kell tenni? az indexbe vagy a már behívott lapba?
az indexbe kell tenned!
-(noob kérdés)-: most kezdem a php-t, és 1 kérdésem lenne, az oké hogy fel kell telepíteni a php-t, mert különben nem fogom a saját gépemen látni, de mégis hogyan kell felrakni?
helló mi kell ahoz hogy az oldalon találhato lejátszoba lejátsza a videot ??? video de nekem az is jo lenne ha csak le tundám tölteni mert még azt se akarja ! explorerbe nem tölti le firefoxba letölti nem értem HELP elöre is kössz hozzá teszem hogy a weblapszerkeztöbe lejátsza a videot !
Nézd meg a HTML szerkesztés kezdõknek!!! címû topic #3375-ös hozzászólásom 5. pontját. Ott le van írva egy olyan kód ami elég böngészõfüggetlen, és némi átalakítással videó lejátszásra is rávehetõ.
Egyébként Firefox-nál plugin (VLCPlayer, Quicktime, Windows Media Player) szükséges (meglétérõl az about:plugins címmezõbe való beírásával gyõzödhetsz meg) a videó, audio tartalmak honlapon való lejátszásához, nélküle nem megy.
Ha felhasználóbarát akarsz lenni inkább linkeld be normál linkként (megadva a méretét, kiterjesztését, a hozzá való szükséges kódekeket), és mellékelj néhány képkockát a videóból.
azért mert több mint valószinû hogy nem valid megoldásal lett megincsálva! ez embedel lett megcsálva! nálam pont fordítva van explo betölti firefox nem!
Hy! Milyen kóddal tudom ezt megoldani hogy egy képet rakok be az oldalba,kiciben ésha vki arra rákottint megnyillik egy új abblak ami igazodik a megnyitott kép méretéhez.