ik ben bezig met dingen uit tekstbox om te zetten naar een txt file. het enige dat fout gaat is dat als bv 0001.txt al bestaat dat hij dan 0002.txt maakt enzovoort. wil iemand met helpen. alvast bedankt.
TJVB schreef op 13.04.2009 16:26
<?

het uitroepteken moest eruit, je nam alleen wat variabelen over. Je ging wel kijken wat je bestandsnaam moet zijn maar deed er niks mee.
Waarom die je een fopen/close en gebruik je daarna file_put_contents voor het wegschrijven?

ik wist geen betere manier jij wel?
TJVB schreef op 13.04.2009 16:26
<?
echo "test";
$nummer = 1;
while(file_exists($nummer.'.txt'))
{
$nummer++;
}
$filename = $nummer.'.txt'
$ourFileHandle = fopen($filename , 'w') or die("can't open file");
fclose($ourFileHandle);

chmod($filename , 0776); //waarom 766?

$text = "Dit is de text die in de textfile zal komen";

file_put_contents(filename , $text);
?>

het uitroepteken moest eruit, je nam alleen wat variabelen over. Je ging wel kijken wat je bestandsnaam moet zijn maar deed er niks mee.
Waarom die je een fopen/close en gebruik je daarna file_put_contents voor het wegschrijven?


de code werkt nog steeds niet
file_put_contents(filename , $text);

Er ontbreekt een $. Maar krijg je geen errors waarmee je dit soort dingen kunt debuggen?
Die $ mist zoals Arjan al zegt.
Maar ik snap het nut van je fopen/fclose niet. file_put_contents maakt het bestand aan als het niet bestaat dus dat kan het probleem niet zijn.

En anders kun je met fwrite de gegevens wegschrijven.
<?
echo "test";
$nummer = 1;
while(file_exists($nummer.'.txt'))
{
$nummer++;
}
$filename = $nummer.'.txt'

$text = "Dit is de text die in de textfile zal komen";

file_put_contents($filename , $text);
?>
dit is nu mijn code maar hij maakt het .txt bestand niet aan
zet dit eens boven aan:

<?php
    error_reporting(E_ALL);
    ini_set('display_errors',1);
?>
Ik zie nogal weinig, alleen een witte pagina
ik ook daarom

en dit is nu mijn code:

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>
<?
echo "test";

$nummer = 1;
while(file_exists($nummer.'.txt'))
{
$nummer++;
}
$filename = $nummer.'.txt'

$text = "Dit is de text die in de textfile zal komen";

file_put_contents($filename , $text);

?>
@Thomas:

't onderstaande script, maakt elke keer als je hem aanroept,

0000.txt aangemaakt 43 Bytes
0001.txt aangemaakt 43 Bytes
0002.txt aangemaakt 43 Bytes
enz. enz.

Het bestand eerst openen, en dan weer sluiten is ook onnodig, wanneer je gebruik maakt van de file_put_contents function.
chmod($filename , 0776); is niet nodig, want het bestand wordt aangemaakt door de user waaronder apache/php draait.

wel is het nodig het resultaat af te vangen $size=file_put_contents($filenaam, $text); $size krijgt de waarde -1 wanner het mislukt is, of een positief getal wanneer het gelukt is en dit is dan gelijk aan de omvang in bytes.


<?
$nummer=0;
$filenaam=sprintf("%'04s", $nummer).".txt";
while(file_exists($filenaam) ) {
	$nummer++;
	$filenaam=sprintf("%'04s", $nummer).".txt";
}
$text = "Dit is de text die in de textfile zal komen";
$size=file_put_contents($filenaam, $text);
echo $filenaam." aangemaakt ". $size. " Bytes";
?> 

Reageren