code invoegen op regelnummer?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

09/06/2011 13:34:32
Quote Anchor link
Hallo,

Stel ik heb een index.php is het dan mogelijk om aan dit bestand op een bepaald regelnummer code in te voegen? Zo ja hoe? En heb ik dan te maken met schrijfrechten?

Wat ik daadwerkelijk wil is vrij lastig uit te leggen dus ik geef nu even een simpel voorbeeld. Stel je roept index.php aan. Als dat bestand wordt aangeroepen dan moet er op regel 10 bijvoorbeeld een regel worden ingevoegd:

$aangeroepen = true;

Kan zoiets?
 
PHP hulp

PHP hulp

16/05/2021 11:06:05
 
- SanThe -

- SanThe -

09/06/2011 13:39:33
Quote Anchor link
Het te wijzigen bestand inlezen in een array() met file().
Nieuw array() maken en de eerste 9 regels overzetten.
Nieuwe regel toevoegen.
Rest overzetten en saven.
 
Ozzie PHP

Ozzie PHP

09/06/2011 13:41:53
Quote Anchor link
Ah zo, thanks SanThe. Moet je het bestand dan wel (handmatig) schrijfrechten toekennen? Of kan dat op de een of andere manier ook automatisch?
 
Jelmer -

Jelmer -

09/06/2011 15:09:52
Quote Anchor link
chmod, maar PHP (apache, of via suphp de uploader) moet dan wel al of eigenaar zijn, of in de groep van het van is bestand horen.
Gewijzigd op 09/06/2011 15:12:30 door Jelmer -
 
Ozzie PHP

Ozzie PHP

09/06/2011 15:12:36
Quote Anchor link
Thanks Jelmer!

Maar dat onderdeel heb ik nooit zo goed begrepen.

Stel nu dat het bestand index.php niet schrijfbaar is. Kan dit bestand zichzelf dan schrijfbaar maken via dat chmod? Ik hoop dat jij daar het antwoord op weet.
 
- SanThe -

- SanThe -

09/06/2011 17:47:56
Quote Anchor link
Ja dat kan. Zie wel de (eigenaar) opmerking van Jelmer.
 
Ozzie PHP

Ozzie PHP

09/06/2011 18:00:13
Quote Anchor link
oei... oke, daar snap ik dus even niks van :-S

Ik zal mijn vraag wat concreter proberen te stellen. Welke handelingen moet ik verrichten zodat het bestand zichzelf kan "beschrijven" :) en zichzelf vervolgens weer onschrijfbaar maakt. Dus het bestand wordt aangeroepen, verandert zijn schrijfrechten, schrijft zichzelf opnieuw weg en wijzigt zijn schrijfrechten vervolgens weer zodat het niet meer schrijfbaar is.

En blijft het bestand dan beschrijfbaar als ik het van de ene naar de andere server kopieer of van de ene naar de andere map? Of moet ik dan telkens handmatig instellingen wijzigen of iets dergelijks?

Ik hoop dat iemand kan uitleggen hoe dit werkt. Alvast dank!
Gewijzigd op 09/06/2011 18:00:52 door Ozzie PHP
 
Dennis meijer

dennis meijer

09/06/2011 18:12:11
Quote Anchor link
Doormiddel van chmod volgens mij maar dat weet ik neit zeker.
 
Ozzie PHP

Ozzie PHP

09/06/2011 19:29:02
Quote Anchor link
euhm ja, thanks maar dat stond hierboven ook al :)

Ik hoopte dat iemand een voorbeeldje hiervan kan geven en of iemand weet of ik dan eerst de scrhijfrechten / eigenschappen van het document moet aanpassen of iets dergelijks...
 
Ozzie PHP

Ozzie PHP

11/06/2011 20:59:59
Quote Anchor link
- SanThe - op 09/06/2011 13:39:33:
Het te wijzigen bestand inlezen in een array() met file().
Nieuw array() maken en de eerste 9 regels overzetten.
Nieuwe regel toevoegen.
Rest overzetten en saven.

Het inlezen lijkt niet te werken. De array blijft leeg. Ik denk dat het probleem is dat het om een php bestand gaat. Als ik in het in te lezen php bestand echo 'test'; zet dat verschijnt 'test' in de array. Het lijkt dus alsof je de file functie geen php bestand kunt inlezen. Iemand anders nog een andere optie?
 
Jelmer -

Jelmer -

12/06/2011 09:53:26
Quote Anchor link
PHP scripts zijn gewoon plain text. Zolang jij die direct opent (en niet via een URL, want dan zal Apache ze eerst uitvoeren en laadt je dus het resultaat van je script in) zou het goed moeten gaan.

Post anders eens de code die je nu heb.
 
Ozzie PHP

Ozzie PHP

12/06/2011 15:00:39
Quote Anchor link
Jelmer ik heb dus gewoon een index.php bestand met wat code daarin. Bovenin het index bestand heb ik staan

echo 'test';

In index.php roep ik test.php (in de map 'test') aan waarin ik de volgende code heb staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
echo '<br>';
$test = file('http://www.mijnsite.nl/index.php');
var_dump($test);


resultaat op scherm:

test
array(1) { [0]=> string(4) "test" }

Als ik test.php aanpas in:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
echo '<br>';
$test = file('./index.php');
var_dump($test);


of in:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
echo '<br>';
$test = file('/path/naar/index.php');
var_dump($test);


dan staat er op het scherm:

test
array(40) { [0]=> string(6) "" }

In alle gevallen komt de php code zelf dus niet tevoorschijn. Wat doe ik niet goed?

Toevoeging op 12/06/2011 15:06:08:

He wacht...

Ik zie nu dat in het laatste geval de array wel gevuld is!!

Als ik in de broncode kijke dan zie ik de code wel staan. Als ik var_dump vervang door print_r komt de code wel tevoorschijn.

Bijzonder :-s
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.