Archívum - Feb 2008 - Fórum téma
február 23
a legjobb teljesítmény titka
sziasztok!
szerintetek mi befolyásolja leginkább a php alkalmazások sebességét és milyen mértékben az alábbi tényezők közül:
1. fájlok includeolása:
mennyit lassit a többszöri lemezről olvasás, ha sok kicsi fájlra tagoljuk a progit?
2. memóriában tartott kód mennyisége:
érdemes-e kevés fájlban sok kódot tartani lecsökkentve a lemezhez fordulások számát, cserébe viszont a memóriába kerül sok dolog, aminek csak töredéke fut le adott esetben. ilyenkor a php benn is tartja azokat a memóriában, vagy mindent felszabadít azonnal?
3. sql lekérdezések / fájlokból olvasások száma:
az előző kettőhöz képest szűk vagy tág keresztmetszet ez? gyorsabb e a lemezről olvasni, vagy sokkal gyorsabb mindent amit csak lehet adatbázisban tartani?
4. hívási "verem", egymásbaágyazott adatszerkezetek:
vagyis ha sok rövid függvényem / metódusom van, és emiatt sokszoros "mélységű" egymásból való hívások történnek rendszeresen az mennyire lassit? adatszerkezeteknél sokkal lassabb egy nagy több dimenziós tömbbe szervezni mint több kisebbe? (persze ilyenkor azok feltöltése, elérése lesz gyakoribb)
mennyire nyomnak ezek a latban egymáshoz képest? mivel lehet a legtöbbet nyerni? a drupal 6 bemutatásakor például ki is van emelve hogy tudatosan csökkent az egyszerre memóriában tartott kód mennyisége.
ez lenne a legfontosabb szempont?
■ szerintetek mi befolyásolja leginkább a php alkalmazások sebességét és milyen mértékben az alábbi tényezők közül:
1. fájlok includeolása:
mennyit lassit a többszöri lemezről olvasás, ha sok kicsi fájlra tagoljuk a progit?
2. memóriában tartott kód mennyisége:
érdemes-e kevés fájlban sok kódot tartani lecsökkentve a lemezhez fordulások számát, cserébe viszont a memóriába kerül sok dolog, aminek csak töredéke fut le adott esetben. ilyenkor a php benn is tartja azokat a memóriában, vagy mindent felszabadít azonnal?
3. sql lekérdezések / fájlokból olvasások száma:
az előző kettőhöz képest szűk vagy tág keresztmetszet ez? gyorsabb e a lemezről olvasni, vagy sokkal gyorsabb mindent amit csak lehet adatbázisban tartani?
4. hívási "verem", egymásbaágyazott adatszerkezetek:
vagyis ha sok rövid függvényem / metódusom van, és emiatt sokszoros "mélységű" egymásból való hívások történnek rendszeresen az mennyire lassit? adatszerkezeteknél sokkal lassabb egy nagy több dimenziós tömbbe szervezni mint több kisebbe? (persze ilyenkor azok feltöltése, elérése lesz gyakoribb)
mennyire nyomnak ezek a latban egymáshoz képest? mivel lehet a legtöbbet nyerni? a drupal 6 bemutatásakor például ki is van emelve hogy tudatosan csökkent az egyszerre memóriában tartott kód mennyisége.
A Drupal 6-ban a legtöbb modult kisebb fájlokra bontottuk szét, csak azt betöltve, amire éppen szükség van, így kevesebb PHP kóddal kell foglalkoznia a szervernek.
ez lenne a legfontosabb szempont?
február 23
div transzparencia probléma
Kéthasábos oldal fej- és lábléce fixen a lap tetejéhez, illetve aljához tapad. A fennmaradó területen a bal oldali hasáb több részre van tagolva, fix pozícióban, a jobb oldali pedig görgethető, változó tartalmú blokk.
Az a problémám, hogy ez a jobb oldali (dinamikus) blokk alatt nem látszik át a blokkjaimat keretező div háttérszíne (a body tagé bezzeg igen! miért?).
Ezt áthidaltam azzal, hogy egy fix pozíciójú div-et beraktam a külső div-be, de ez ugye letakarja a jobb oldali divemet (mivel a fix pozíciójú blokkok mindig a relativek elé kerülnek)...
Persze ez is megkerülhető a z-index paraméterrel, ez viszont csak IE alatt működik.
Szóval a kérdés: van-e erre valami egyszerű megoldás?
■ Az a problémám, hogy ez a jobb oldali (dinamikus) blokk alatt nem látszik át a blokkjaimat keretező div háttérszíne (a body tagé bezzeg igen! miért?).
Ezt áthidaltam azzal, hogy egy fix pozíciójú div-et beraktam a külső div-be, de ez ugye letakarja a jobb oldali divemet (mivel a fix pozíciójú blokkok mindig a relativek elé kerülnek)...
Persze ez is megkerülhető a z-index paraméterrel, ez viszont csak IE alatt működik.
Szóval a kérdés: van-e erre valami egyszerű megoldás?
Elektronikus kosar
Szeretnek egy nagyon szimpla elektronikus kosarat letrehozni. Peldaul Peter vasarol egy "banant" megy egy "narancsot", a kovetkezo mySQL tablaban ket bejegyzes jelenik meg:Az adatokat egy HTML tablazatal jelenitem meg neki:Peter latja az adatokat, de azt szeretnem megoldani ha peldaul valtoztatni akarja a szamot a "Quantity" INPUT mezoben az valtozon meg a mySQL tablaban is, a submit gomb megnyomasa utan.
Hogyan tudom ezt megoldani ? Koszonom!
■
ID | Name | Quantity
=======================
1 | Banan | 1
2 | Narancs | 1
- $querydb = mysql_query("SELECT id, name, quantity FROM cart");
- <form name="cart" method="post" action="cart.php">
- <table>
- <tr>
- <td>Name</td>
- <td>Quantity</td>
- </tr>
- while ($row = mysql_fetch_array($result) {
- <tr>
- <td>$row['name']</td>
- <td><input type="text" value="$row['quantity'] />
- </tr>
- }
- </table>
- <input type="submit" name="recalculate" value="recalculate">
Hogyan tudom ezt megoldani ? Koszonom!
Adatok listazasa adatbazisbol
Van egy mySQL tablam amelyben adatokat tarolok. Szeretnem az utolso 6 adatot kilistazni a tablabol, PHP segitsegevel. Csak az utolso 6 adatot szeretnem listazni. Ezt, hogy tudom megoldani ? datum szerint ?
Koszonom!
■ Koszonom!
Minden tartalom szövegdobozban?
Sziasztok!
Előre is elnézést kérek, ha a címet pontatlanul fogalmaztam meg, de nem tudom jobban.
Abban szeretném a segítségeteket kérni, hogy hogyan tudom megoldani, hogy minden egyes tartalom,
ami beküldésre kerül a weboldalra, egy automatikusan "táguló" szövegdobozba kerüljön? Szövegdoboz, vagy keret. A kettő nem ugyanaz, de mégis erről lenne szó.
Hirdetésekről van szó.
darin
■ Előre is elnézést kérek, ha a címet pontatlanul fogalmaztam meg, de nem tudom jobban.
Abban szeretném a segítségeteket kérni, hogy hogyan tudom megoldani, hogy minden egyes tartalom,
ami beküldésre kerül a weboldalra, egy automatikusan "táguló" szövegdobozba kerüljön? Szövegdoboz, vagy keret. A kettő nem ugyanaz, de mégis erről lenne szó.
Hirdetésekről van szó.
darin
Szervernév kinyerése URL-ből regexszel
a problema:es megoldva.mar nem tudtam mit kezdeni vele amikor csak ugy kiprobaltam, es voala.
DE! nem ertem hogy miert kepes leforditani a "..com/drupal"-t is ha ott a "\?" kapcsolo
ez bug? vagy csak en nem ertem mi tortenik?
■ - $url="http://eaposztrof.com/drupal";
- preg_replace( '/(.*:\/\/)?([^ \/]*)([^ >"]*)/', '$2', $url )
- // eaposztrof.com // jo!
- $url="http://eaposztrof.com/?q=drupal";
- preg_replace( '/(.*:\/\/)?([^ \/]*)([^ >"]*)/', '$2', $url )
- // eaposztrof.com?q=drupal // rossz!
- $url="http://eaposztrof.com/drupal";
- preg_replace( '/(.*:\/\/)?([^ \/\?]*)([^ >"]*)/', '$2', $url )
- // eaposztrof.com // jo!
- $url="http://eaposztrof.com/?q=drupal";
- preg_replace( '/(.*:\/\/)?([^ \/\?]*)([^ >"]*)/', '$2', $url )
- // eaposztrof.com // jo!
DE! nem ertem hogy miert kepes leforditani a "..com/drupal"-t is ha ott a "\?" kapcsolo
ez bug? vagy csak en nem ertem mi tortenik?
Helyfüggő PHP, WAP
Nem tud valaki a helyfüggő mobil szolgáltatásokról valamit?
A geocaching Pannonos elérésére gondolok
http://geocaching.hu/wap/index.php?o=t
Ez az LBS (Location Based Services) technikán alapul, de sehol nem látok információt, hogy milyen függvénnyel vagy metódussal lehet elérni a helyre vonatkozó információkat. Vagy ez zártkörű buli?
■ A geocaching Pannonos elérésére gondolok
http://geocaching.hu/wap/index.php?o=t
Ez az LBS (Location Based Services) technikán alapul, de sehol nem látok információt, hogy milyen függvénnyel vagy metódussal lehet elérni a helyre vonatkozó információkat. Vagy ez zártkörű buli?
február 21
InnoDB vs MyISAM - gyakorlatban
adott egy nagy méretű adatbázis, táblánként milliós nagyságrendű rekordokkal. Mit használnál?
innoDB vagy MyISAM táblatípust? Fő szempont a sebesség és az erőforrásigény. Az innoDB mellett szól a row-lock, mig a MyISAM csak table-lockot támogat. Ellenben MyISAM elméletileg gyorsabb... De valakinek van már tapasztalata erről? Vagy esetleg ha a gyakran írt/módosított táblák innoDBk, mig amiből leginkább lekérdezünk myISAM típusuak?
Kicsit hiányosnak érzem a mySQL manualt ezen a téren...
■ innoDB vagy MyISAM táblatípust? Fő szempont a sebesség és az erőforrásigény. Az innoDB mellett szól a row-lock, mig a MyISAM csak table-lockot támogat. Ellenben MyISAM elméletileg gyorsabb... De valakinek van már tapasztalata erről? Vagy esetleg ha a gyakran írt/módosított táblák innoDBk, mig amiből leginkább lekérdezünk myISAM típusuak?
Kicsit hiányosnak érzem a mySQL manualt ezen a téren...
Közvetlen adatfolyam továbbítás
Sziasztok!
A cím nem feltétlenül egyértelmű, ezért kifejtem, hogy mit szeretnék megoldani:
Van egy stream megoldás, ami a VideoLAN VLC nevű progijával működik.
Van a szerveren x darab USB-s webkamera.
A gépnek (debian) van egy NIC-en két IP címe.
A kamerák képét "daemon-nal" folyamatosan unicast-olom az egyik IP-ről a másikra.
Amikor a látogató rákattint egy linkre, akkor egy PHP-ból indított bash script elindít egy új vlc-t, ami "továbbsrtream-eli" az unicast adatfolyamot egy random porton. Ahhoz, hogy mindez ne csússzon 5 mp-nél többet, mms protokollon keresztül kell stream-elnem, de a vlc nem tudja az mss-en keresztüli autentikálást (http-n keresztül menne, de komoly késleltetéssel).
Most jön a lényegi PHP kérdés:
Meg tudnám oldani valahogy, hogy a script által indított vlc "kimenete" php file lenne, ami annyit tudna, hogy fogadja a streamet és bármilyen átadott paraméter (user+pass vagy IP) megállapítja, hogy a nézni kívánó jogosult-e megtekinteni az adást?
Magyarul képes-e a PHP arra, hogy egy "beleirányított" stream adatfolyamot továbbküldjön érintetlenül?
Remélem nem írtam túl összeszedetlenül!
Előre is köszi:
hemu
■ A cím nem feltétlenül egyértelmű, ezért kifejtem, hogy mit szeretnék megoldani:
Van egy stream megoldás, ami a VideoLAN VLC nevű progijával működik.
Van a szerveren x darab USB-s webkamera.
A gépnek (debian) van egy NIC-en két IP címe.
A kamerák képét "daemon-nal" folyamatosan unicast-olom az egyik IP-ről a másikra.
Amikor a látogató rákattint egy linkre, akkor egy PHP-ból indított bash script elindít egy új vlc-t, ami "továbbsrtream-eli" az unicast adatfolyamot egy random porton. Ahhoz, hogy mindez ne csússzon 5 mp-nél többet, mms protokollon keresztül kell stream-elnem, de a vlc nem tudja az mss-en keresztüli autentikálást (http-n keresztül menne, de komoly késleltetéssel).
Most jön a lényegi PHP kérdés:
Meg tudnám oldani valahogy, hogy a script által indított vlc "kimenete" php file lenne, ami annyit tudna, hogy fogadja a streamet és bármilyen átadott paraméter (user+pass vagy IP) megállapítja, hogy a nézni kívánó jogosult-e megtekinteni az adást?
Magyarul képes-e a PHP arra, hogy egy "beleirányított" stream adatfolyamot továbbküldjön érintetlenül?
Remélem nem írtam túl összeszedetlenül!
Előre is köszi:
hemu
Kattintás korlátozása
Helló
Az a kérdésem hogy hogyan lehet megcsinálni, hogy van egy gomb ami a felhasználóhoz tartozó sql mondjuk kattintas mezőbe minden kattintással feltölt +1-et.
Ezt hogyan lehet korlátozni hogy naponta csak pl.:25 -ször kattinthasson rá.
van a katt.phpaminek elküldi a processes.phpSegítsetek pls
■ Az a kérdésem hogy hogyan lehet megcsinálni, hogy van egy gomb ami a felhasználóhoz tartozó sql mondjuk kattintas mezőbe minden kattintással feltölt +1-et.
Ezt hogyan lehet korlátozni hogy naponta csak pl.:25 -ször kattinthasson rá.
van a katt.php
- <?
- $username = $_SESSION['username'];
- include 'constants.php';
- $mysql = mysql_connect(DBHOST,DBUSER,DBPASS);
- mysql_select_db(DBNAME,$mysql);
- $connection = mysql_pconnect(DBHOST,DBUSER,DBPASS)
- or die ("Couldn't connect to server.");
- $db = mysql_connect(DBHOST,DBUSER,DBPASS);
- mysql_select_db(DBNAME,$db);
- $sql = mysql_query("SELECT * FROM ".DBTBLE." WHERE username='$username'");
- $row=mysql_fetch_assoc($sql);
- <form action="processes.php" method="post" name="form1" id="form1">
- <input name="katt" type="hidden" class="textfield" id="katt" value="<? echo $row['katt']+1; ?>" size="50" />
- <input name="userid" type="hidden" class="textfield" id="userid" value="<? echo $row['userid']; ?>" size="50" />
- <input name="function" type="hidden" id="function" value="katt">
- <input name="Submit" type="submit" class="textfield" value="Kattintok!" now!="Now!" />
- </form>
- ?>
- <?
- $userid = $_POST['userid'];
- $katt = $_POST['katt'];
- include 'constants.php';
- $mysql = mysql_connect(DBHOST,DBUSER,DBPASS);
- mysql_select_db(DBNAME,$mysql);
- $connection = mysql_pconnect(DBHOST,DBUSER,DBPASS)
- or die ("Couldn't connect to server.");
- $db = mysql_connect(DBHOST,DBUSER,DBPASS);
- mysql_select_db(DBNAME,$db);
- $query = "UPDATE ".DBTBLE." SET katt = '$katt' WHERE userid = '$userid'";
- mysql_query($query) or die('Error, Check MySql');
- header("Location: ../katt.php");
- ?>