php, line replace, ipv str_replace

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom aan t Goor

Tom aan t Goor

02/04/2012 13:28:52
Quote Anchor link
Ik heb een php file:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$berichten
= 12;
echo 'Er zijn '.$berichten.' berichten gevonden.;
?>

$berichten = 12; staat in regel 18.


Nu wil ik dmv een ander bestand, de regel $berichten = 12; vervangen door:
$berichten = 15;

Ik heb gekeken, maar ik kan wel str_replace vinden, alleen bestaat er ook een soort line_replace?
Dat als je zegt line_replace('18', '$berichten = 15;');
Dat regel 18 wordt weg gehaald, en de nieuwe regel voor in de plaats komt?
Of is er ook een andere manier?

Ps. De variabele $berichten, moet opgeslagen blijven, ook al er niemand op de site zit!
Gewijzigd op 02/04/2012 13:30:02 door Tom aan t Goor
 
PHP hulp

PHP hulp

03/10/2022 15:45:21
 
Gerhard l

gerhard l

02/04/2012 13:33:54
Quote Anchor link
Je kan gewoon de waarde veranderen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
$var
= 'eerste waarde';
echo 'Waarde: '. $var;

$var = 'tweede waarde';
echo 'Waarde: '. $var;
?>

Hier heb je geen str replace voor nodig lijkt mij.
 
Tom aan t Goor

Tom aan t Goor

02/04/2012 13:36:05
Quote Anchor link
maar ik wil de waarde vernieuwen vanuit een 2e php bestand.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$berichten
= 12;
echo 'Er zijn '.$berichten.' berichten gevonden.;
?>

staat in index.php

en in replace.php moet dan iets komen van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
fopen("index.php");'
line_replace('
18', '$berichten = 15;');
}

?>


Dat hij het uit een ander bestand vervangt
 
Gerhard l

gerhard l

02/04/2012 13:37:44
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
$var
= 'eerste waarde';
echo 'Waarde: '. $var;

include 'replace.php';
// als je in replace.php $var weer een andere waarde geeft wordt die gewoon meegenomen

echo 'Waarde: '. $var;
?>
Gewijzigd op 02/04/2012 13:37:51 door gerhard l
 
- SanThe -

- SanThe -

02/04/2012 13:39:04
Quote Anchor link
Als het alleen om dat getal gaat zet dan dat getal in een database of alleen in een file. Dan is het simpel aan te passen en ook simpel op te halen.
 
Tom aan t Goor

Tom aan t Goor

02/04/2012 13:43:38
Quote Anchor link
Gerhard l op 02/04/2012 13:37:44:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
$var
= 'eerste waarde';
echo 'Waarde: '. $var;

include 'replace.php';
// als je in replace.php $var weer een andere waarde geeft wordt die gewoon meegenomen

echo 'Waarde: '. $var;
?>


Nu wordt de waarde veranderd als je de index.php bekijkt.
Kan je het dan ook zo een draai geven, dat hij alleen wordt veranderd, en opgeslagen, als je de replace.php bekijkt?
Zo ja, hoe?

Toevoeging op 02/04/2012 13:44:08:

- SanThe - op 02/04/2012 13:39:04:
Als het alleen om dat getal gaat zet dan dat getal in een database of alleen in een file. Dan is het simpel aan te passen en ook simpel op te halen.


Ik wil de database niet gebruiken hiervoor, dat is namelijk mijn hele punt.
 
Wouter W

Wouter W

02/04/2012 14:50:10
Quote Anchor link
Ik denk dat dit werken moet:

Nu kijk je of het bestand wat je opent replace.php heet.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$adres
= $_SERVER["SCRIPT_NAME"];
$file = explode("/",$adres);
$file = $file[count($file) - 1];
if($file === "replace.php"){
  $getal = "tweede getal";
}

else{
  $getal = "eerste getal";
}


?>
 
Tom aan t Goor

Tom aan t Goor

02/04/2012 17:59:20
Quote Anchor link
Dit is eigenlijk ook niet echt wat ik bedoel, ik wil eigenlijk niks handmatig aan de index.php veranderen, maar via replace.php de index.php veranderen.
 
Wouter W

Wouter W

02/04/2012 19:35:21
Quote Anchor link
Waarom wil je dat doen?
Er zijn genoeg je nu genoeg mogelijkheden gegeven.
Als je van nederland naar belgie rijdt is, ga je toch ook niet via zwitserland?

Als je dit toch perse wil, dan moet je met file_get_contents gaan werken,
en een heleboel string functies.

Als je index er zo uit ziet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$getalwatgeen12moetzijn
= 12;

echo $getalwatgeen12moetzijn;
?>


vanuit replace.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$index
= file_get_contents("index.php");
$start = strpos($index,"$getalwatgeen12moetzijn");
$nieuweindex = substr($index,0,$start)
$nieuweindex .= "$getalwatgeen12moetzijn = 16;";
$nieuweindex .= substr($index,$start + strlen("$getalwatgeen12moetzijn = 12;"),strlen($index)-$start);

file_put_contents("index.php", $nieuweindex);
?>


niet getest,
geen aanrader het zo te gebruiken,
maar zo kan het wel.

Weet niet of het precies zo uitkomt, anders moet je maar even knutselen met je de stringfuncties. http://nl.php.net/manual/en/ref.strings.php
 
Eddy E

Eddy E

02/04/2012 21:19:51
Quote Anchor link
Kan je index.php niet includen en dan zelf de var herschrijven zoals Gerhard zegt?
Eventueel met ob_start() werken.
 
Obelix Idefix

Obelix Idefix

02/04/2012 21:33:29
Quote Anchor link
Tom Tom op 02/04/2012 13:28:52:
Ps. De variabele $berichten, moet opgeslagen blijven, ook al er niemand op de site zit!

Hierin zit de moeilijkheid. Die variabele moet dus ergens worden bewaard/opgeslagen. En een database mag niet. Dan is het enige in een bestandje wegschrijven en inlezen.

Nut/noodzaak ontgaat me overigens volledig, maar TS zal er een goede reden voor hebben.
 



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.