Re: Ordna en variabel
Skippa paranteserna!
$filename = $resultat.".txt";
Första punkten konkatinerar strängen ".txt" med det som står före. Det du skrev tolkas som ett anrop till funktionen
res0501(".txt");
5 svar · 309 visningar · startad av TomasA
Jag vill ha en variebel som motsvarar namnet på den fil som variabel ligger i, förutom suffixet.
I filen "res0501.php" skall "res0501" bli variabeln.
Tanken är att jag sen i filen tar med en txt-fil med samma namn "res0501.txt".
Men detta fungerar inte
{
$resultat=basename($PHP_SELF);
}
Lite längre ner har jag då
<?
$filename = $resultat(".txt");
$fd = fopen($filename, 'r');
while(!feof($fd))
Får felmeddelandet
Fatal error: Call to undefined function: sw05_02.php() in /home/min/public_html/mapp/mapp/res05/sw05_02.php on line 36
Jag får troligen med suffixet - tror jag. Förslag?
Re: Ordna en variabel
Skippa paranteserna!
$filename = $resultat.".txt";
Första punkten konkatinerar strängen ".txt" med det som står före. Det du skrev tolkas som ett anrop till funktionen
res0501(".txt");
Gjorde det och även ingen, en eller bägge av punkterna, men ändå kom detta
<b>Warning</b>: fgets(): supplied argument is not a valid stream resource in <b>/home/min/public_html/mapp/mapp/res05/sw05_02.php</b> on line <b>41</b><br />
<br />
<b>Warning</b>: feof(): supplied argument is not a valid stream resource in <b>/home/min/public_html/mapp/mapp/res05/sw05_02.php</b> on line <b>39</b><br />
<br />
Om jag kör med denna kod:
{
$resultat=basename($PHP_SELF);
}
Jag tror jag att jag också får med suffixet. Hur tar jag bort det?
Från manualen:
'PHP_SELF'
The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar. The _FILE_ constant contains the full path and filename of the current (i.e. included) file.If PHP is running as a command-line processor this variable contains the script name since PHP 4.3.0. Previously it was not available.
Du får alltså med bl.a. suffixet.
Enligt manualen så finns det ett optionellt andra argument, filändelse som ska klippas. Så:
$resultat = basename($PHP_SELF, ".php");
Stort tack - funkar perfekt.
Och jag får sätta mig ner och läsa den där manualen ordentligt.
Kikade och kikade, men fann inte det jag sökte.
Så det får bli Manualen och ett par bra glasögon.
:)