SPRCO Skrevet 24. februar 2009 Del Skrevet 24. februar 2009 Webprogramering i PHP av Svend Andreas Horgen er en go nybegynner bok. Du lærere en del PHP og MySQL en liten innføring i objektorientert PHP, men har ikke sett delen enda. Nesten alle kodesnutter kan lastes ned fra nettet o.s.v Tror jeg går for den jeg da. Pluss at den er på norsk Lenke til kommentar
hakonvl Skrevet 24. februar 2009 Del Skrevet 24. februar 2009 Arrays er jo ikke vanskelig, tenk på det som ei hylle med merkelapper på hver hylle, hvor du legger du ting du skal bruke senere. $hylle = array(); $hylle['øverst til venstre'] = 'bøker'; $hylle['midten høyre'] = 'brev og papir'; Eller, et annet eksempel; $kake = array(); $kake['navn'] = 'Sjokoladekake'; $kake['form'] = 'Rund'; $kake['steketid'] = '30 min.'; $kake['ingredienser'] = array('Mel', 'Kakao', 'Margarin', 'Sukker'); Så, for å si det enkelt, et array er en samling av variabler. Jeg er ikke spesielt god til å forklare ting, men jeg håper hvertfall at jeg ikke forvirrer deg enda mer Ok, takker Har vel i grunn brukt det ($_GET, $_POST og $_SERVER, fungerer vel nesten likt). Har bare ikke giddi og lest hvordan man bruker de. Lenke til kommentar
ze5400 Skrevet 26. februar 2009 Del Skrevet 26. februar 2009 (endret) ... Eller, et annet eksempel; $kake = array(); $kake['navn'] = 'Sjokoladekake'; $kake['form'] = 'Rund'; $kake['steketid'] = '30 min.'; $kake['ingredienser'] = array('Mel', 'Kakao', 'Margarin', 'Sukker');[/font] Eventuelt: $kake = array( "navn" => "Sjokoladekake", "form" => "Rund", "steketid" => "30min", "ingredienser" => array("Mel", "Kakao", "Margarin", "Sukker") ); Endret 26. februar 2009 av ze5400 Lenke til kommentar
hakonvl Skrevet 8. april 2009 Del Skrevet 8. april 2009 (endret) Har et lite irriterende problem som jeg ikke synes er stort nok til og lage eget emne om. La oss si at webhosten min gir meg har satt serverrota til og være /home, men alle scriptene mine må ligge i en "undermappe" som f. eks heter /home/www. Skal jeg da inkludere f. eks en fil jeg kaller config.phå lager jeg en variabel: $root = $_SERVER['DOCUMENT_ROOT'] . "/home/www"; Denne variabelen må jeg endre hvis jeg skifter webhost eller skal flytte filene over til serveren fra min egen PC som jeg bruker til go utvikle sidene på. Er det noen måte som er mer "fleksibele" som dere bruker, så dere slipper denne jobben? Da pleier jeg og lage en variabel som definere serverrota med den globale matrisen $_SERVER også mappestrukturen. Eks: /root /home /config.php /index.php Endret 8. april 2009 av Rockie Lenke til kommentar
Martin A. Skrevet 9. april 2009 Del Skrevet 9. april 2009 Om alt går ut fra index.php, så kan du bruke denne: define( 'ROOT_PATH', dirname( __FILE__ ) ."/" ); require_once ROOT_PATH . 'filnavn.php'; Lenke til kommentar
Imaginary Skrevet 14. april 2009 Del Skrevet 14. april 2009 (endret) Prøver meg i denne tråden: Hvordan sette aksessrettigheter (dvs. passordbeskyttelse) på en mappe/fil via Apache, men samtidig oppnå at den blir listet opp i mappen ovenfor? Se eksempel her. Endret 10. desember 2010 av Imaginary Lenke til kommentar
Gjest Slettet+6132 Skrevet 15. april 2009 Del Skrevet 15. april 2009 For det første er ikke dette en support-tråd, og for det andre omhandler spørsmålet ditt Apache, og har lite og ingenting med PHP å gjøre Lenke til kommentar
Imaginary Skrevet 15. april 2009 Del Skrevet 15. april 2009 Beklager det, men jeg fant ikke noen egnet kategori å poste spørsmålet i. Tenkte kanskje det var greit å poste her da jeg ikke syntes problemet fortjente egen tråd. Lenke til kommentar
Gjest Slettet+6132 Skrevet 15. april 2009 Del Skrevet 15. april 2009 Forum > Data > Datamaskiner > Servere Diskusjoner rundt konfigurasjon og oppsett av maskinvare og programvare for servere Lenke til kommentar
Ernie Skrevet 21. april 2009 Del Skrevet 21. april 2009 Okey, den her irriterer meg grådig, og mangel på søvn gjør det ikke akkurat enklere. Fikler litt med bbcode-parsing. Intet problem inntil man begir seg ut på to spesielt håpløse tagger, list og quote. Problemet er det samme med begge så for enkelhetsskyld så fokuserer jeg på quote. Problemet med quote er at dette er en av de taggene som både trenger en greedy og en ungreedy pattern alt ettersom hvordan tingene er for å plukke opp akkurat det det skal. To enkle case for å beskrive det: [quote]Dette er et sitat[/quote][quote]Dette er et annet sitat[/quote] Denne kan svært enkelt plukkes opp v.hj.a en ungreedy pattern, f.eks /\[quote\](.*)\[\/quote]/isUue [quote][quote]Dette er et sitat[/quote]Kommentar til sitat[/quote] Denne kan svært enkelt plukkes opp v.hj.a en greedy pattern. /\[quote\](.*)\[\/quote]/isue Som man ser av følgende testkode plukker ingen av de opp begge korrekt: <?php $text1 = '[quote]Dette er et sitat[/quote][quote]Dette er et annet sitat[/quote]'; $text2 = '[quote][quote]Dette er et sitat[/quote]Kommentar til sitat[/quote]'; echo "Text1 greedy:\n"; echo preg_replace('/\[quote\](.*)\[\/quote]/isu', '<!-- quote start -->\1<-- quote end -->', $text1); echo "\n\n"; echo "Text1 ungreedy:\n"; echo preg_replace('/\[quote\](.*)\[\/quote]/isUu', '<!-- quote start -->\1<-- quote end -->', $text1); echo "\n\n"; echo "Text2 greedy:\n"; echo preg_replace('/\[quote\](.*)\[\/quote]/isu', '<!-- quote start -->\1<-- quote end -->', $text2); echo "\n\n"; echo "Text2 ungreedy:\n"; echo preg_replace('/\[quote\](.*)\[\/quote]/isUu', '<!-- quote start -->\1<-- quote end -->', $text2); echo "\n"; ?> Resultatet blir nemlig Text1 greedy: <!-- quote start -->Dette er et sitat[/quote][quote]Dette er et annet sitat<-- quote end --> Text1 ungreedy: <!-- quote start -->Dette er et sitat<-- quote end --><!-- quote start -->Dette er et annet sitat<-- quote end --> Text2 greedy: <!-- quote start -->[quote]Dette er et sitat[/quote]Kommentar til sitat<-- quote end --> Text2 ungreedy: <!-- quote start -->[quote]Dette er et sitat<-- quote end -->Kommentar til sitat[/quote] og som man ser klarer hver pattern bare en hver (text2 greedy kan lett fikses ved å re-parse innholdet i quote). Så hvordan i alle dager løser man det her? Det er iallfall for meg ingen åpenbar måte å kombinere de på, og å kjøre de sekvensielt vil iallfall ikke gå. Noen som har noen ideer? Lenke til kommentar
Gjest Slettet+6132 Skrevet 22. april 2009 Del Skrevet 22. april 2009 Kan du ikke loope text2 greedy til det ikke er flere quote igjen da? Lenke til kommentar
Jonas Skrevet 22. april 2009 Del Skrevet 22. april 2009 Ernie, sjekk ut eksempel 3 her, som omhandler akkurat nøstede bbkoder. Lenke til kommentar
Ernie Skrevet 22. april 2009 Del Skrevet 22. april 2009 Kan du ikke loope text2 greedy til det ikke er flere quote igjen da? Jo, som sagt kan det gjøres, men den løser ikke text1. Text1 er to separate sitater, og en greedy pattern vil se det som en. Med andre ord, jeg trenger noe som løser nøstingen samtidig som den takler flere sitater på rad. Ernie, sjekk ut eksempel 3 her, som omhandler akkurat nøstede bbkoder.Takk skal du ha! Det fungerer eksakt slik jeg vil ha de Lenke til kommentar
hakonvl Skrevet 22. april 2009 Del Skrevet 22. april 2009 (endret) -SLETT- Endret 22. april 2009 av Rockie Lenke til kommentar
Milktea Skrevet 23. april 2009 Del Skrevet 23. april 2009 Satte sammen noe slikt for å raskt kunne kjøre en rekke funksjoner: function chain_functions() { $list = array( 1 => "function1();", 2 => "function2();", 4 => "function3();" ); for($i = 0;$i <= count($list);$i++) if($int & pow(2,$i)) eval($list[pow(2,$i)]); } Problemet er at jeg ikke har særlig lyst til å bruke eval, men hvis jeg ikke gjør det blir funksjonene automatisk kjørt i det arrayet settes sammen. Noen som har et tips? Lenke til kommentar
Jonas Skrevet 23. april 2009 Del Skrevet 23. april 2009 <?php $functions = array ( "function1", "function2", "function3" ); foreach ( $functions as $function ) $function (); ?> Lenke til kommentar
Milktea Skrevet 23. april 2009 Del Skrevet 23. april 2009 (endret) Sorry, glemte å skrive at $int et parameter til chain_functions. Problemet mitt er ikke å få kjørt mange funksjoner etter hverandre, men jeg vil kunne velge hvilke jeg skal kjøre. F. eks. om jeg kjører chain_functions(1) kjører den $list[1], kjører jeg med $int=2 (2^1) kjører den $list[2], og om jeg kjører med $int=3 (2^1 + 2^0) kjører den $list[1] + $list[2], osv. Du får ikke gjort det ved å kjøre en enkel foreach. Takk likevel, hadde helt glemt at jeg kunne kalle på funksjoner på den måten. Noen ide til hvordan jeg får med eventuelle parametere til funksjonen i listen? Endret 23. april 2009 av Milktea Lenke til kommentar
Jonas Skrevet 23. april 2009 Del Skrevet 23. april 2009 (endret) Yo, dude - jeg bryr meg ikke om hvordan du går gjennom listen, prøver bare å vise deg hvordan man kaller funksjoner med variable navn. Du skal få fikse førstnevnte selv. Funksjonsargumenter fungerer på samme måte. (Hvis det er det du mener, kommer egentlig ikke så veldig godt frem) <?php $functions = array ( "function1", "function2", "function3" ); foreach ( $functions as $function ) $function ( ++$i ); function function1 ( $arg ) { echo "Running function $arg\n"; } function function2 ( $arg ) { echo "Running function $arg\n"; } function function3 ( $arg ) { echo "Running function $arg\n"; } ?> Running function 1 Running function 2 Running function 3 Endret 23. april 2009 av Jonas Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå