Hallo,
Hoe kan ik controleren of eerder in een PHP script $new_file al is geopend
en nog open is?
$nf=fopen($new_file, "w+")
Als ik dit doe:
if(trim($nf)==false)
{
dan een actie
}
else
{
een andere actie
}
Werkt het niet.
Groeten,
Matthijs
Likes: 0
Hallo,
Hoe kan ik controleren of eerder in een PHP script $new_file al is geopend
en nog open is?
$nf=fopen($new_file, "w+")
Als ik dit doe:
if(trim($nf)==false)
{
dan een actie
}
else
{
een andere actie
}
Werkt het niet.
Groeten,
Matthijs
Matthijs de Z wrote:
> Hoe kan ik controleren of eerder in een PHP script
> $new_file al is geopend en nog open is?
>
> $nf=fopen($new_file, "w+")
>
> Als ik dit doe: if(trim($nf)==false)
<http://nl2.php.net/manual/en/function.fopen.php>
fopen() Retourneert geen string, dus trim() loslaten op $nf
zal weinig doen.
fclose() Retourneert een boolean, aan de hand daarvan zul je
iets zinnigs kunnen doen denk ik.
--
Cheers,
Maarten Wierda
"After MELVINS finished a 23-minute opener of
'Charmicarmicat', one knob yelled
'Your guitar's tuned now!',
to which Buzz snapped,
'SHUT UP, FAG!!!'... "
> > Hoe kan ik controleren of eerder in een PHP script
> > $new_file al is geopend en nog open is?
> >
> > $nf=fopen($new_file, "w+")
> >
> > Als ik dit doe: if(trim($nf)==false)
>
> <http://nl2.php.net/manual/en/function.fopen.php>
>
> fopen() Retourneert geen string, dus trim() loslaten op $nf
> zal weinig doen.
>
> fclose() Retourneert een boolean, aan de hand daarvan zul je
> iets zinnigs kunnen doen denk ik.
Probleem is een beetje dat ik wil testen op fopen, opdat ik eventueel actie
kan ondernemen om nog wat info weg te schrijven _Voordat_ ik fclose
gebruik. Valt daar een mouw aan te passen? Want als het niet lukt (fopen)
dan krijg je wel false, maar ik vraag me af of je true krijg als het wel
lukt. Uit mijn testen blijkt van niet. Maar ik kan natuurlijk ook verkeerd
testen.
Groeten,
Matthijs
Matthijs de Z <haalallesvoorhetstreepjesplushetstreepjezelfweg-mldz@hotmail.com> wrote:
> Hoe kan ik controleren of eerder in een PHP script $new_file al is geopend
> en nog open is?
>
> $nf=fopen($new_file, "w+")
>
> Als ik dit doe:
> if(trim($nf)==false)
>
> Werkt het niet.
Deja-vu:
Wat is $nf en wat doet trim()!
BTW gebruik voor ontwikkelen E_ALL.
BTW2 http://nl2.php.net/manual/en/function.is-resource.php en natuurlijk
niet te vergeten http://nl2.php.net/manual/en/function.flock.php zodat
je uberhaupt niet 2 keer de file kan openen.
Matthijs de Z wrote:
> Probleem is een beetje dat ik wil testen op fopen, opdat ik eventueel actie
> kan ondernemen om nog wat info weg te schrijven _Voordat_ ik fclose
> gebruik. Valt daar een mouw aan te passen? Want als het niet lukt (fopen)
> dan krijg je wel false, maar ik vraag me af of je true krijg als het wel
> lukt. Uit mijn testen blijkt van niet. Maar ik kan natuurlijk ook verkeerd
> testen.
Onderstaande code werkt bij mij prima.
$file_name = "foo.txt";
if (!$fp = fopen($file_name, 'r+'))
{
echo "Kan niet openen...";
}
else
{
if (!flock($fp, 2)) {
echo "Gelocked...";
}
else {
// data schrijven
}
}
Heb je wel error_reporting aan staan?
error_reporting(E_ALL);
--
Cheers,
Maarten Wierda
"After MELVINS finished a 23-minute opener of
'Charmicarmicat', one knob yelled
'Your guitar's tuned now!',
to which Buzz snapped,
'SHUT UP, FAG!!!'... "
> Deja-vu:
>
> Wat is $nf en wat doet trim()!
ja...ik ga even in de hoek staan....Moet idd even beter opletten.
Die oplossing van Maarten lijkt me verder te helpen.
groeten,
Matthijs
> Onderstaande code werkt bij mij prima.
>
> $file_name = "foo.txt";
>
> if (!$fp = fopen($file_name, 'r+'))
> {
> echo "Kan niet openen...";
> }
> else
> {
> if (!flock($fp, 2)) {
> echo "Gelocked...";
> }
> else {
> // data schrijven
> }
> }
Bedankt floxk helpt me verder.
Groeten,
Matthijs
> Onderstaande code werkt bij mij prima.
>
> $file_name = "foo.txt";
>
> if (!$fp = fopen($file_name, 'r+'))
> {
> echo "Kan niet openen...";
> }
> else
> {
> if (!flock($fp, 2)) {
> echo "Gelocked...";
> }
> else {
> // data schrijven
> }
> }
Achteraf is dit toch niet hetgeen ik zocht. Ik ga nog even goed nadenken.
Groeten,
Matthijs
Matthijs de Z wrote:
>> Onderstaande code werkt bij mij prima.
<snip>
> Achteraf is dit toch niet hetgeen ik zocht. Ik ga nog
> even goed nadenken. Groeten,
Kom anders maar alvast uit de hoek en vertel wat je
/eigenlijk/ wil doen, misschien hanteer je wel een totaal
verkeerde methode.
--
Cheers,
Maarten Wierda
"After MELVINS finished a 23-minute opener of
'Charmicarmicat', one knob yelled
'Your guitar's tuned now!',
to which Buzz snapped,
'SHUT UP, FAG!!!'... "
> >> Onderstaande code werkt bij mij prima.
>
> <snip>
>
> > Achteraf is dit toch niet hetgeen ik zocht. Ik ga nog
> > even goed nadenken. Groeten,
>
> Kom anders maar alvast uit de hoek en vertel wat je
> /eigenlijk/ wil doen, misschien hanteer je wel een totaal
> verkeerde methode.
om het proberen duidelijk uit te leggen, heb ik iets meer tijd nodig dan wat
me vandaag nog rest voor de uren achter mijn PC. Ik moet nu namelijk naar de
verjaardag van mijn vader. Die kan ik toch niet laten zitten;-)
Als ik er vanavond laat nog niet achter ben, dan zien jullie me morgen zeker
terug. Hopelijk komen we er met zijn allen dan wel uit.
Prettige avond allemaal!
Matthijs
> Kom anders maar alvast uit de hoek en vertel wat je
> /eigenlijk/ wil doen, misschien hanteer je wel een totaal
> verkeerde methode.
Gisteren een geniale ingeving gekregen....het openen van de file gaat via
een if then else lus, er controle of de file wel geopend kan worden. Dus als
ik nu gewoon een extra variabele in het 'then' gedeelte stamp die op true of
false gezet kan worden, dan kan ik die variabele evenlater controleren en
weet ik dus of de file reeds open is of niet. Het leven is soms zo simpel hè
;-)
Mazzel,
Matthijs
Matthijs de Z <haalallesvoorhetstreepjesplushetstreepjezelfweg-mldz@hotmail.com> wrote:
> Gisteren een geniale ingeving gekregen....het openen van de file gaat via
> een if then else lus, er controle of de file wel geopend kan worden. Dus als
> ik nu gewoon een extra variabele in het 'then' gedeelte stamp die op true of
> false gezet kan worden, dan kan ik die variabele evenlater controleren en
> weet ik dus of de file reeds open is of niet. Het leven is soms zo simpel h?
> ;-)
Die variabele heb je toch al (de return value van fopen)! En de
oplossing had ik je ook al gegeven:
http://nl2.php.net/manual/en/function.is-resource.php
> Die variabele heb je toch al (de return value van fopen)! En de
> oplossing had ik je ook al gegeven:
> http://nl2.php.net/manual/en/function.is-resource.php
Ach...krijg nou wat. Daar heb ik gisteren in de haast helemaal overheen
gekeken. Ja, zo kan het idd ook en het is beter (mooier) dan die andere
oplossing. bedankt dat je het nog even onder mijn neus schuift.
Groeten,
Matthijs
Matthijs de Z <haalallesvoorhetstreepjesplushetstreepjezelfweg-mldz@hotmail.com> wrote:
>> Die variabele heb je toch al (de return value van fopen)! En de
>> oplossing had ik je ook al gegeven:
>> http://nl2.php.net/manual/en/function.is-resource.php
>
> Ach...krijg nou wat. Daar heb ik gisteren in de haast helemaal overheen
> gekeken.
Dat vermoeden had ik al.
> Ja, zo kan het idd ook en het is beter (mooier) dan die andere
> oplossing. bedankt dat je het nog even onder mijn neus schuift.
Graag gedaan