variable maken in een if statement
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$filename = 'test.txt';
$somecontent = "Add this to the file\n";
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($somecontent) to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
$filename = 'test.txt';
$somecontent = "Add this to the file\n";
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($somecontent) to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
Alleen nu ben ik het voor mezelf een beetje aan het ontleden, maar weet niet zo goed wat dit betekend:
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
Want je maakt daar eigenlijk een variable aan maar ik snap dat niet zo goed.
$handle krijgt de returnwaarde van fopen(). Die waarde is óf een pointer óf false. Als het false is dan is het openen niet gelukt. Het uitroepteken is in feite een NOT. Dus als $handle false is geeft de if() een true en dan wordt de echo uitgevoerd.
Toevoeging op 13/11/2011 16:14:51:
En wat is dit?
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
Als fwrite() niet lukt geeft ie false terug maar het kan ook lukken als $somecontent leeg is. In het laatste geval geeft fwrite() 0 (nul) retour. Maar nul is géén false vandaar dat er 3 === staan.
Kijk voor dit soort vragen even op www.php.net daar staan alle functions haarfijn uitgelegd.