---
title: "Ordna en variabel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/129865-ordna-en-variabel"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "TomasA"
published: "2005-06-12T14:22:59.000Z"
updated: "2005-06-14T13:12:48.000Z"
replies: 5
views: 314
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/129865-ordna-en-variabel"
---

# Ordna en variabel

## #1 — TomasA, 2005-06-12T14:22Z

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

```php
{
$resultat=basename($PHP_SELF); 
}
```

Lite längre ner har jag då 

```php
<?
	$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?

Permalänk: https://www.webforum.nu/p/129865

## #2 — aasah, 2005-06-12T15:00Z

Re: Ordna en variabel

Skippa paranteserna!

```php
$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");

Permalänk: https://www.webforum.nu/p/1629767

## #3 — TomasA, 2005-06-12T15:23Z

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 /\>

Permalänk: https://www.webforum.nu/p/1629782

## #4 — TomasA, 2005-06-13T20:11Z

Om jag kör med denna kod:

```php
{
$resultat=basename($PHP_SELF); 
}
```

Jag tror jag att jag också får med suffixet. Hur tar jag bort det?

Permalänk: https://www.webforum.nu/p/1630312

## #5 — pettsson, 2005-06-13T20:30Z

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](http://se.php.net/manual/en/function.basename.php) så finns det ett optionellt andra argument, filändelse som ska klippas. Så:

```
$resultat = basename($PHP_SELF, ".php");
```

Permalänk: https://www.webforum.nu/p/1630323

## #6 — TomasA, 2005-06-14T13:12Z

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. 
:)

Permalänk: https://www.webforum.nu/p/1630559

---

Tråden på webben: https://www.webforum.nu/amne/php/129865-ordna-en-variabel
