File serach and replace :)
Na een zoektocht op PHP.net zonder de functie die ik zoek vraag ik het maar ffies op me favo forum :)
Hier komt ie:
Ik heb een textfile met daarin een paar waarden bv:
[email protected]
[email protected]
[email protected]
Nu wil ik zoeken in de file op een waarde en waar nodig vervangen door een andere zonder de rest aan te tasten.
Dus bv wil ik [email protected] veranderen naar [email protected].
Hoe doe ik dit?
misschien met fopen() en dan preg_replace()/str_replace()
Lijkt me wel een goede oplossing ...
als je heel ff een ogenblikje heb
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$handle = fopen ("mail.txt", "r");
$buffer = "";
while (!feof ($handle))
{
$buffer .= fgets($handle, 4096);
}
echo "voor: $buffer<br>";
$buffer = str_replace("[email protected]","[email protected]",$buffer);
$handle = fopen ("mail.txt", "w");
if(fputs($handle,$buffer))
echo "naar: $buffer";
fclose ($handle);
?>
$handle = fopen ("mail.txt", "r");
$buffer = "";
while (!feof ($handle))
{
$buffer .= fgets($handle, 4096);
}
echo "voor: $buffer<br>";
$buffer = str_replace("[email protected]","[email protected]",$buffer);
$handle = fopen ("mail.txt", "w");
if(fputs($handle,$buffer))
echo "naar: $buffer";
fclose ($handle);
?>
p.s. in het voorbeeld zet hij het auto weer terug, maar dit is hem...suc6 ermee!!! het voorbeeld wordt over een paar dagen weer verwijderd
http://www.bloemertaudiovideo.nl/test/test.php
Toch hoopte ik op een search functie ofs0w :)
Het gaat over chmod.
Het gaat om het volgende scenario:
Een user registreerd -> er wordt een map aangemaakt met een txt bestand erin.
Ik wil dat alleen ik en die user zelf schrijfrechten hebben.
Dus de juiste chmod = ?????
0774?
Edit: Typo
Gewijzigd op 01/06/2004 20:33:00 door Mitch X
Niemand?
maar aangezien apache de eigenaar is zal het waarschijnlijk zo zijn dat iedereen die apache een commando geeft het bestand kan wijzigen
(tenzij apache voor elke gebruiker een apart childproces heeft draaien)
Edit : Of gaat het erom wie de eigenaar van het script is?
Gewijzigd op 01/06/2004 21:44:00 door Mitch X
En natuurlijk :
Is de inglogde user dan wel de eigenaar?
Of gaat het erom wie de eigenaar van het script is?
Per bestand is er een UID en GID vastgesteld, deze staat voor de eigenaar van het bestand. Vervolgens wordt er per gebruikerstype vastgesteld wat ze mogen.
User: de eigenaar
Groep: degene die GID matched
All: de rest.
Echter, apache draait onder een andere uid dan de user's uid. Kortom: apache zal zonder trucjes niet in de catagorie: USER vallen. Trucjes zoals SuExec. Apache valt meestal ook niet onder de groep sectie: dus blijft er een ALL sectie over.
Ook Rick's scenario van een eigen child proces voor elke gebruiker is op niet moment nog niet haalbaar: met apache2 is het wel in ontwikkeling, maar nog niet stabiel genoeg voor productie doeleinden.
Ik heb alleen het vermoeden dat je het nog neit helemaal snapt.
Quote:
Een user[1] registreerd -> er wordt een map aangemaakt met een txt bestand erin.
Ik wil dat alleen ik[2] en die user zelf schrijfrechten hebben.
Ik wil dat alleen ik[2] en die user zelf schrijfrechten hebben.
Wat voor user? Bij CHMOD praten we namelijk over SYSTEEM gebruikers. Niet mensen die via mysql geregistreerd hebben!
Grtz,
Adje
Users registreren via mysql en krijgen een eigen map waarin auto een bestand wordt gezet.
Welke CHMOD moet deze map hebben?
Nu maar hopen dat safe mode of openbasedir goed is ingesteld.. anders kunnen de rest van de gebruikers lekker mee koekeloeren.
Grtz,
Adje
Die map wordt door een script gemaakt en moet alleen schrijfrechten bieden aan de user die er de 'eigenaar' van is. De rest alleen lezen ...
Maar wat je kunt doen is map beveiligen via http authentication (via php of apache) en zo die directory afschermen, heb ik ook een keer gemaakt.. Zal eens kijken straks als ik thuis ben voor je..
Wel lastige vragen heb je altijd mitch :)
Jepz het no0bgedeelte ben ik al een tijdje gepasseerd ;)
Quote:
Die map wordt door een script gemaakt en moet alleen schrijfrechten bieden aan de user die er de 'eigenaar' van is. De rest alleen lezen ...
Lees nu eens!
Dit kan dus niet zonder trucjes!
Apache is de eigenaar van de dir. De user die volgens jou eigenaar moet zijn is een virtuele user, geen linux user, en Chmod bied hier geen uitkomst!
En dat van Bas dan?
Quote:
Maar wat je kunt doen is map beveiligen via http authentication (via php of apache) en zo die directory afschermen, heb ik ook een keer gemaakt.. Zal eens kijken straks als ik thuis ben voor je..
Mss is dat wel iets leuks :)
wat je zou kunnen maken is bijv. zoiets:
Code (php)
Dit systeem, maar niet letterlijk overnemen want dit is dus geen http authentication.
Maar dit is al weer iets compleet anders dan waar mitch het over heeft. Dit heeft totaal niets met CHMOD of system users te maken.