Oprettet lør. d. 04. august 2001 kl. 14:20:41

desvaerre
desvaerre (19.570 point. Point ude: 0)

Lidt PHP-spm.... HASTER MEGET!!!

Hej,

Jeg blev henvist til eksperten.dk af en kammerat. Nu får vi at se hvad I kan :-)

Jeg har lidt spm ang. PHP:

1. Hvad er forskellen på include og require.
2. Hvorfor kan jeg ikke dele en string op i 3 med substr?
3. Kan jeg undgå at min conn. til databasen bliver set? Jeg har fx den til at ligge i hent/conn.inc.php. Skal jeg bruge .htaccess til det? Og i så fald, hvordan?
4. Er det muligt at læse en linie af gange fra en fil (fx tekst.txt)? Sådan at den første linie bliver brugt som overskrift og de efterfølgende er selve teksten?

Jeg takker på forhånd for alle de GODE svar :-)

Med venlig hilsen
  Søren Desed

Skrevet lør. d. 04. august 2001 kl. 14:22:05| #1

sunlock.dk
sunlock.dk (28.768 point)
2. Måske fordi substr kun kan dele op i 2...

::sunlock.dk::

Skrevet lør. d. 04. august 2001 kl. 14:22:24| #2

nephilim
nephilim (21.794 point)
include vil inkludere filen, og hvis den ikke eksisterer, vil den bare gå videre, det vil req ikke, efter hvad jeg har forstået..

Skrevet lør. d. 04. august 2001 kl. 14:23:14| #3

nephilim
nephilim (21.794 point)
4. ja jeg har lavet et news script der gør det. når du læser filen ind, kommer den jo ind i et array, og så tager du baere den linie du skal bruge

Skrevet lør. d. 04. august 2001 kl. 14:24:31| #4

nephilim
nephilim (21.794 point)
$s=chop($fa[0]);
vil give $s den første linie

Skrevet lør. d. 04. august 2001 kl. 14:25:50| #5

nephilim
nephilim (21.794 point)
$fa = file(filen);

Skrevet lør. d. 04. august 2001 kl. 14:26:15| #6

myplacedk
myplacedk (31.315 point)
2. Hvad er det helt præcist du vil her?
3. Ja. Der er to løsninger: Læg din \"conn.inc.php\" uden for web-scope, eller konfigurer din webserver til at \".inc.php\"-filer ikke må ses.
4. Ja, selvfølgelig.

1\'eren vil jeg lige se om en anden ikke vil svare på... ;-)

Skrevet lør. d. 04. august 2001 kl. 14:28:42| #7

nephilim
nephilim (21.794 point)
3. eller måske bare bruge fil navnet med .ht foran eftersom det sikkert er sat til ikke at vises, hvis det er en apache

Skrevet lør. d. 04. august 2001 kl. 21:42:25| #8

lundsfryd
lundsfryd (22.357 point)
nephilim >> det er punktummet, der gør den skjult - ikke \".ht\". ht er bare Apaches navngivningskonvention - f.eks. \"htaccess\" -> \"HyperText Access\" (ikke noget jeg ved, kun et gæt).

Skrevet lør. d. 04. august 2001 kl. 22:22:33| #9

myplacedk
myplacedk (31.315 point)
lundsfryd >> I min httpd.conf står der:
<Files ~ \"^\\.ht\">
    Order allow,deny
    Deny from all
</Files>

Det betyder, at filer der starter med \".ht\" ikke må sendes.

At en fil starter med punktum er Apache ret ligeglad med. Bash, derimod (og sikkert også alle andre shells) viser ikke filer der starter med punktum, medmindre man beder den om det. Men det er ret irrelevant i denne sammenhæng.

Skrevet lør. d. 04. august 2001 kl. 22:22:54| #10

myplacedk
myplacedk (31.315 point)
Forresten, det er ikke noget jeg har skrevet. Det er med som standard. :)

Skrevet søn. d. 05. august 2001 kl. 03:54:02| #11

lundsfryd
lundsfryd (22.357 point)
myplacedk >> Jeps, men jeg snakker ikke om Apache men om operativsystemer/shells - og her betyder punktummet, at filen er skjult (som du siger).

Altså: Punktummet er \"systemets\", og ht er Apaches... det var det, jeg prøvede at skrive før :-)

Skrevet søn. d. 05. august 2001 kl. 12:09:42| #12

jensgram
jensgram (39.129 point)
www.jensgram.dk
3: i .htacces skrives:
php_value auto_prepend_file din/mappe/data.inc.php

Skrevet søn. d. 05. august 2001 kl. 12:18:32| #13

repsac
repsac (36.719 point)
1: Lidt kryptisk ... require bruges når du eks. skal bruge en fuktion der bliver defineret i en anden fil.
Hvis man require en fil bliver indholdet af filen ikke \"stoppet ind\". Den bliver kun læst.

Derimod hvis man bruger include så stopper php indholdet af filen ind ...

Prøv en gang at oprette to filer:
*****test.test.php*******
bla bla bla ...
****************************

*****test.include_vs_require.php******
Følgende kan man se i sourcen ved en require: <?php require(\"test.test.php\"); ?>
<br><br>
Følgende kan man se i sourcen ved en include: <?php include(\"test.test.php\"); ?>
**************************************

Håber det hjalp dig lidt ... se evt. manualen ... www.php.net/require www.php.net/include

Skrevet søn. d. 05. august 2001 kl. 12:22:27| #14

repsac
repsac (36.719 point)
2. Hvorfor kan jeg ikke dele en string op i 3 med substr?
- det kan man da sagtens!

$var = \"bommelom, malerpensel og åstehamp(s)\";

$del_1 = substr($var, 0, 5);
$del_2 = substr($var, 6, 10);
$del_3 = substr($var, 11, 36);

echo \'$del_1 indeholder: \'.$del_1.\'<br>\';
echo \'$del_2 indeholder: \'.$del_2.\'<br>\';
echo \'$del_3 indeholder: \'.$del_3;

Skrevet søn. d. 05. august 2001 kl. 12:26:23| #15

myplacedk
myplacedk (31.315 point)
lundsfryd >> Jeg tror vist du er den eneste der snakker om operativsystem og shell i dette PHP-forum.
Jeg har i øvrigt indtryk af at de fleste her kører Windows eller webhotel uden shell-access, og så er det endnu mere ligegyldigt.
Og så er sikkerheden i at kalde en fil noget med punktum foran faktisk MEGET dårligere, end at lægge nøglen under måtten.

Men OK, hvis \"desvarre\" snakker om shell\'s og ikke PHP, og han ikke mener af hensyn til sikkerhed med for at øge overskueligheden når han kører en \"ls -l\", så er tippet da OK...

Jeg vil såmen bare gøre opmærksom på, at der ikke er noget SIKKERHEDSMÆSSIGT i at lade et filnavn starte med punktum. Men at lade filnavnet starte med \".ht\" (som nephilim  foreslog) vil på en standard apache betyde, at man ikke kan hente filen gennem webserveren.

Skrevet søn. d. 05. august 2001 kl. 15:24:44| #16

nephilim
nephilim (21.794 point)
php kan da sagtens bruge filen, men en bruger kan ikke \"se\" filen.

Skrevet søn. d. 05. august 2001 kl. 17:47:30| #17

myplacedk
myplacedk (31.315 point)
nephilim >> Du må nok lige præcisere lidt her... \"PHP kan da sagtens bruge filen\" - trods hvad? At den starter med punktum, eller at den starter med \".ht\", eller hvad?
Og hvad mener du med at en bruger ikke kan se den? Indtaste den i browseren, eller se den via shell?

Skrevet søn. d. 05. august 2001 kl. 19:01:21| #18

nephilim
nephilim (21.794 point)
ja php kan godt bruge .ht filer, men en bruger der via en browser ser i det directory kan ikke se den, da det er serveren der sender listen. oh en bruger kan også se den i shell, da det ikke er apache der sender det.

Skrevet søn. d. 05. august 2001 kl. 19:02:27| #19

nephilim
nephilim (21.794 point)
men man skulle jo nok bruge ls -l for at få den vist i shell, da den jo som sagt tidligere ikke viser .* filer

Skrevet søn. d. 05. august 2001 kl. 19:04:13| #20

nephilim
nephilim (21.794 point)
ls -a mener jeg

Skrevet fre. d. 10. august 2001 kl. 16:55:56| #21

repsac
repsac (36.719 point)
Hmm ... da spørgsmålet hastede meget, så var det måske også på tide at lukke det da du har fået svar/løsninger på det hele ... (?) ... :)

Skrevet tor. d. 16. august 2001 kl. 08:10:52| #22

desvaerre
desvaerre (19.570 point)
Undskyld... POINT-TID!!!

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger