A PHP, bővebben ''PHP: Hypertext Preprocessor'' egy széles körben használt, nyílt forráskódú, általános célú programozási nyelv, különösen jó web-fejlesztés támogatással, és HTML-be ágyazási képességekkel. A szintakszisa a C, Java és Perl nyelvekre épül, könnyen megtanulható. A nyelv fő célja lehetőséget teremteni dinamikusan generált weboldalak gyors készítésére, de a PHP ennél sokkal többre is képes.Megalkotója Rasmus Lerdorf. Mára azonban egy egész csapat foglalkozik a nyelvvel.
A nyelvvel kapcsolatban említenék néhány magyar nyelvű kiadványt:
PHP zsebkönyv [link]
Tanuljuk meg a PHP4 használatát 24 óra alatt [link]
Tanuljuk meg a PHP5 használatát 24 óra alatt [link]
PHP Haladóknak - Fekete Könyv [link]
Bevezetés a PHP5 programozásába [link]
PHP fejlesztés felsőfokon [link]
PHP kézikönyv: [link]
Előzmények:
PHP kérdések - Archívum I.: [link]
PHP kérdések - Archívum II.: [link]
Kapcsolodó topikok:
Apache: [link] [link]
Mysql: [link] [link]
/szicsu/
PHP programozás - Szoftverfejlesztés fórum
hozzászólások
Na leszek én az első:
Van egy tömböm, amiben megvan több file neve. A kérdésem az, hogy meg lehet e azt oldani, hogy a fájlokat egyetlen rar file-ként le lehessen tölteni.
VladimirR
(nagyúr)
exec-cel be-rar-olod oket, majd azt a file-t kuldod ki a kliens-nek
szerk.: mire volt jo torolni szucsi topic-jat, majd bemasolni beture ponosan ugyanazt a kezdohsz-t?
jo, jo, hogy elsosorban modok nyitjak az uj topic-ot, de ne essetek mar tulzasba, _az_ a szabalyozas az elsozos hulyegyerekek ellen lett kitalalva, itt meg egy korrekt (velhetoen az, mert valtoztatas nelkul lett ide atmasolva) nyito-post volt
[Szerkesztve]
Ezt nem egészen értem, hogy raroljam be őket az exec-el?
VladimirR
(nagyúr)
exec( ''rar <kapcsolok> <file-ok> <tempfilename>.rar'' );
readfile( ''<tempfilename>.rar'' );
ez mar kuldi is
szicsu
(őstag)
Ezt én sem értettem
Jah és a nevem szicsu , nem szucsi
Milyen paranccsal lehet beolvasni egy txt fájlegész tartalmát?
Az fgets csak 1 sort olvas be.
VladimirR
(nagyúr)
file_get_contents()
file_put_contents() ugyanez irasra
Fatal error: Call to undefined function: file_get_contents() in C:\phpWeb\mentes_tolt.php on line 17
Én értettem félre vmit?
VladimirR
(nagyúr)
file_get_contents
(PHP 4 >= 4.3.0, PHP 5)
file_get_contents -- Reads entire file into a string
Description
string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )
Bovebben: [link]
[Szerkesztve]
Aham. Asszem eljött az itthoni php verzió frissítése. Köszi.
D.R.O.
(tag)
Hello!
A readfile()-t próbáltad?
Elvileg megy php4-en. [link] Persze csak szerintem.
D.R.O.
(tag)
Huh, jogos. Végülis ha nem akar semmit sem csinálni a tartalommal, és az a cél, hogy megjelenítse, akkor arra jó.
Dede, ez jó. Thx!
mod:
huh, nem, nemjó mégsem. Mégiscsak kell majd php verziót frissíteni. A beolvasott tartalommal dolgozni kéne. Nem csak kiíratni.
[Szerkesztve]
SlashMate
(csendes tag)
Én annak idején ilyesmivel próbálkoztam:
$base=''file.txt'';
if ($fa=fopen($base, ''r''))
{
$string=fread($fa, filesize($base));
fclose($fa);
}
else {
echo ''nem sikerult megnyitni a fájlt<br>'';
}
a $string-el pedig tudsz műveleteket végezni
Remélem segítettem
[Szerkesztve]
Kis trükkel megoldható frissítés nélkül:
ob_start();
readfile(valami);
$fc = ob_get_contents();
ob_end_clean();
qfm
(senior tag)
én is ilyen megoldást használtam, csak elágazás nélkül mert feltettem hogy a file létezik
DeltaPower
(őstag)
nálam ez így műxik:
$tartalom=join('', readfile('file.txt'));
//...
echo ($tartalom);
(mod) dupla idézőjelet nem szeresse a PH motor?
[Szerkesztve]
$f = implode('''',file(''fájl neve''));
ebben az esetben a fájl neve-vel jelölt fájjl tartalma a $f-ben lesz, amit echo val lehet kiküldeni
DeltaPower
(őstag)
ez a szép a php-ben, egy ilyen alap dologra is van már vagy 5 féle megoldásunk
DeltaPower
(őstag)
elírtam... ehelyett:
$tartalom=join('', readfile('file.txt'));
ez kell:
$tartalom=join('', file('file.txt'));
(mod)Vladimir: az se egy rossz megoldás
[Szerkesztve]
sirtomi
(tag)
Nekem egy jpGraph kérdésem lenne!
Ezt a hibár kapom:
Fatal error: Cannot instantiate non-existent class: in C:\...\php\jpgraph\jpgraph.php on line 235
class JpGraphError {
function Install($aErrObject) {
GLOBAL $__jpg_err;
$__jpg_err = $aErrObject;
}
function Raise($aMsg,$aHalt=true){
GLOBAL $__jpg_err;
235: $tmp = new $__jpg_err;
$tmp->Raise($aMsg,$aHalt);
}
}
Teszt szerveren tökéletesen működik a grafikon generálása, de az éles szerveren már ez a hibaüzenet fogad. Eddig semmi megoldást nem találtam.
paramparya
(őstag)
Hát, nincs meg a class, amit be akarna tölteni, vagy valami nem ok benne, és azért nem tudja...
Így picit kevés az infó, legalábbis ebből tudom neked megmondani, ahhoz már kellett volna pont ezzel a hibával találkoznom
Tippcsi10
(tag)
hy
van egy main.php-m ebben van a fejléc,logo,menü,lábléc + a tartalom helyén ez:
<?php
if (file_exists($_GET['id'.''.html''))
{include ($_GET['id'.''.html'');}
else
{include (''error.html'');}
?>
a menüben vannak a megfelelő linkek, müködik is az oldal,de én azt szeretném ha egy menüpontra kattintok akkor annak változzon meg a szine
ugye css-el simán megy is,csak most ugye a main.php-ban van a menü és itt csak egy menüpontot tudok aktivként beállitani, ezért kellene valami más megoldás
remélem érthető voltam
köszi
Szerintem a menüt PHP-val hoz létre.
Bepakolod a menüelemeket egy tömbbe ilyesmi formában
$menu[fooldal] = 'Főoldal';
$menu[reg] = 'Regisztráció';
Utána egy foreach($menu AS $key => $data) ciklussal kiíratod a menüt és ellenőrzöd, hogy a $key == $_GET[id]
Ha igaz akkor print '<a href=''#'' class=''aktiv_menu''></a>';
Ha hamis akkor meg print '<a href=''#''></a>';
Ha jól értelmeztem a kérdésedet, akkor valami ilyesmit kell létrehoznod.
Sok sikert hozzá
szicsu
(őstag)
Hi!
Lenne egy igen alap kérdésem:
Miért van az, hogy ha készittek egy táblát (mysql) majd php-val adatokat veszek fel bele (nem formmal hanem sql-el) akkor az ő,ű ? jel lesz. DE ha phpmydmin segítségével veszem fel aza adatokat akkor ott már minden rendben.
mit rontok el?
Tippcsi10
(tag)
igen,azt hiszem ez kell nekem
mostmár csak meg kell valósitani
köszi szépen
paramparya
(őstag)
Karakterkódolást
SET NAMES latin2, SET CHARACTER SET latin2 (Vagy utf8) query megvolt még a táblába írás előtt?
szicsu
(őstag)
ezek megvoltak mind csak valamiért a mysql automatikusan átkovertálja a latin1 re mindent
szicsu
(őstag)
csak úgy hajlandó működni, hogy a db_con után beszúrok két lekérdezést
mysql_query(''SET NAMES LATIN2'');
mysql_query(''SET COLLATION_CONNECTION=LATIN2_GENERAL_CI'');
És csak utána mehet a többi
mysql_query(''insert into txt (txt) values('Árvíztűrő tükörfúrógép')'');
Karakterkódolások egyeznek az adatbázisban és a forráskódban?
Szerk: látom azóta már írták ezt, csak nem frissítettem az oldalt mielőtt írtam
[Szerkesztve]
SlashMate
(csendes tag)
Sziasztok.
Lenne egy kérdésem: PHP-ban szeretnék írni egy BBCode t HTML kódot. Az egyszerűbbek pl [ b] már megvannak de a színezést és a mézetezést nem tudom megcsinálni. Valaki segítene, hogy ''mivel lehet kihagyni'' a pl szín/szám helyét? és mivel lenne jobb? str_replace() vagy preg_replace(); ?
A választ előre is köszee
hát kb. kezdd el tanulni a perl-es reguláris kifejezéseket, és ha már elég jól megy, akkor nem lesznek ilyen kérdéseid, minden világos lesz.
[Szerkesztve]
SlashMate
(csendes tag)
Hát, ezzel igazán sokat segítettél...
Köszönöm
Pedig igaza van. Mondhatjuk neked, hogy az url csere egyszerűen így néz ki:
ebből: #\[url=(.+?)\](.+?)\[/url\]#is
ez: <a href=''\\1''>\\2</a>
de ezt nem fogod érteni, nem fogod tudni használni később sem. Ráadásul ez még elég unsafe is, de a bonyolultabbat még ennyire sem értenéd. Gugliban ha rákeresel a regexp kifejezésre, sok hasznos doksit fogsz találni.
[Szerkesztve]
Csóró egyszerű kérdés :
egy string hosszát milyen parancs adja vissza?
Jóvanna. Nagyanyámnál voltam, nem volt velem könyv. Amúgy meg ezt kéne tudnom alapból. Biztos bugos a rendszerem, vagy bad sector van az agyamban.
énse tudtam volna ezt alapból, ha 2 órával ezelőtt nem kérdezték volna meg tőlem h mire való xD mert én ezt nem szoktam nagyon használni
KaoszTom
(aktív tag)
Sziasztok!
Olyan problémám van, hogy Flash-ből (Unicode) kapok a php-ba egy szöveget, és ezt elküldöm e-mail-ben, és az ő és ű betűk helyén ? lesz. A többi ékezetes betű az ok.
A php fájl UTF-8 típusú,
tartalmazza ezt is:
<meta http-equiv=''Content-Type'' content=''text/html; charset=iso-8859-2''> ,
és a küldésnél használom az utf8_decode() függvényt:
@mail($mailcim, utf8_decode($targy), utf8_decode($arajanlat))
Ennek ellenére a kapott mail-ben nem jeleníti meg az ő és ű betüket. Mit lehet még tenni?
Újabb elakadás, már fél napja tökölök rajta.
Adott egy kép, amelyen kb max . 8-10 szín szerepel (illetve ennek 1-2 árnyalata, ami szabad szemmel nem vagy nehezen látszik, viszont ha lekérem a kódját akkor megkapom, hogy van egy kis eltérés. ). Olyan képet képzeljetek el, mintha ilyen festékpacák lennének.
Ezen a képen egy adott helyzetű pontot, illetve r sugarú környezetben még 8 pontot vizsgálok, ebből szeretném megmondani, melyik pacában van az adott pont, illetve esetleg melyik paca vana közelben (ha aaz a másik paca beleesik az r sugarú körbe).
Nos a pontokat le tudtam kérdezni.
Viszont mivel a pacák nem teljesen homogének (apró eltérések lehetnek színben egy pacán belül ) , ezért azt kéne megoldanom, hogy megmondom, hogy melyik paca színéhez áll a legközelebb a pont színe.
Pl.
Itt van 9 pont:
#9cd9aa
#9cd9aa
#9cd9aa
#9cd9aa
#9bd9a9
#9bd9a9
#9cd9aa
#9bd9a9
#9cd9aa
Ez nagyjából egy almazöld színhez áll legközelebb, de mint látható apró eltérések vannak.
Egy másik 9 pont:
#fae8e4
#eb9d9d
#fdc68f
#fdc68f
#eb9c9c
#fdc68f
#fdc68f
#eb9c9c
#eb9d9d
Ebből 5 pirosasabb színű, 4 narancsosabb színű.
Szóval a kérdéseim:
- hogy tudok /érdemes megadni színtartományt /palettát, hogy meg tudjam mondani hol van az adott pont, és milyen szín van r sugarú környezetében ?
-imagecolorstotal miért 0-t ad vissza ?
[Szerkesztve]
- hogy tudok /érdemes megadni színtartományt /palettát, hogy meg tudjam mondani hol van az adott pont, és milyen szín van r sugarú környezetében ?
egy adott színnek megfeleltethetsz egy pontot egy 3 dimenziós, 256 oldalhosszú kockában. a színtartomány az az adott pont körüli gömb, amelynek sugara határozza meg a színtartományod ''szélességét''. innen remélhetőleg világos, hogy két szín ''különbsége'' 2 pont távolsága ebben a kockában.
-imagecolorstotal miért 0-t ad vissza ? - php manual-ban írja, hogy true color képekre nullát ad vissza.
[Szerkesztve]