fwrite $
ik heb een soort systeempje waar mensen advertenties of posts wat dan ook kunnen plaatsen. hij geeft ze ook wel mooi weer enzo via mysql, alleen nu wilde ik iets maken dat als mensen iets toevoegden via een form dat hij een bestand aan zou maken en dat hij daarin direct de gegevens ophaalt uit mijn database alleen loop ik vast op het punt fwrite. Kijk dit kleine stukje :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$myFile = $_POST['naam'].".php";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php
//bijv iets simpels
$a = 10;
echo $a;
?>";
fwrite($fh, $stringData);
fclose($fh);
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php
//bijv iets simpels
$a = 10;
echo $a;
?>";
fwrite($fh, $stringData);
fclose($fh);
Hij write hem perfect ik krijg mooi de post .php in mn map, alleen worden alle variablen weggehaald. dan blijft er alleen staan =10; en echo... dit vind ik vreemd, ik heb ook geprobeerd om ze tussen haakjes te zetten. maar ik krijg het niet werkend...
Hoop dat jullie wat weten
groeten Gerhard
Weet je het verschil tussen dubbel en enkele quotes?
- Dubbele vervangt de variabelen in de string door de inhoud van de variabele
- Enkele intepreteert je string als plain text.
Kijk je verder wel uit met uploaden van php bestandjes. Je wilt niet dat iemand opeens je servert kan besturen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$myFile = $_POST['naam'].".php";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php
'$'a = 15;
echo '$'a;
?>";
fwrite($fh, $stringData);
fclose($fh);
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php
'$'a = 15;
echo '$'a;
?>";
fwrite($fh, $stringData);
fclose($fh);
levert op
en
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$myFile = $_POST['naam'].".php";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php
$a = 15;
echo $a;
?>";
fwrite($fh, $stringData);
fclose($fh);
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php
$a = 15;
echo $a;
?>";
fwrite($fh, $stringData);
fclose($fh);
levert dan weer
op ik snap dat niet:S
Ozo, dan had ik Pieter verkeerd begrepen, in ieder geval beide bedankt, ga er morgen weer mee verder dan zal ik zien of het werkt !
het werkte thnx!