ugrás a tartalomhoz

Archívum - Feb 2008 - Fórum téma

február 23

a legjobb teljesítmény titka

kalamona · 2008. Feb. 23. (Szo), 16.14
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.

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

topper · 2008. Feb. 22. (P), 22.35
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?
 

Elektronikus kosar

zoliky · 2008. Feb. 22. (P), 20.17
Szeretnek egy nagyon szimpla elektronikus kosarat letrehozni. Peldaul Peter vasarol egy "banant" megy egy "narancsot", a kovetkezo mySQL tablaban ket bejegyzes jelenik meg:

ID | Name    | Quantity
=======================
1  | Banan   | 1
2  | Narancs | 1
Az adatokat egy HTML tablazatal jelenitem meg neki:

$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">
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!
 

Adatok listazasa adatbazisbol

zoliky · 2008. Feb. 22. (P), 18.19
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!
 

Minden tartalom szövegdobozban?

darin · 2008. Feb. 22. (P), 10.37
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
 

Szervernév kinyerése URL-ből regexszel

eaposztrof · 2008. Feb. 22. (P), 07.17
a problema:
$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!
es megoldva.

$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! 
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?
 

Helyfüggő PHP, WAP

karpati · 2008. Feb. 22. (P), 01.18
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?
 

február 21

InnoDB vs MyISAM - gyakorlatban

Szekeres Gergő · 2008. Feb. 21. (Cs), 15.44
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...
 

Közvetlen adatfolyam továbbítás

hemu · 2008. Feb. 21. (Cs), 15.28
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
 

Kattintás korlátozása

darkride · 2008. Feb. 21. (Cs), 14.46
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.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>
?>
aminek elküldi a processes.php
<?
$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");
?>
Segítsetek pls