backslash in windows en linux servers

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marthijn Buijs

Marthijn Buijs

16/02/2016 19:19:11
Quote Anchor link
Hallo medemensen,

Ik zit al een tijdje met deze vraag, dus laat ik me vraag maar stellen:

Op internet lees ik dat je bij een Windows server '/' of '\' in paden kunt gebruiken en dat bij Unix-systemen alleen '/' gebruikt kan worden.

Is dit waar?
Dus niet dat ik in de toekomst webapplicaties schrijf en dat die het niet gaat doen op Unix-systemen omdat er 2 verschillende slashes in het pad zitten?

Dit heeft misschien met luiheid te maken maar in PHP gebruik ik graag de constant __DIR__, waarin backslashes zitten. Of worden die slashes in dat pad automatisch omgezet naar de goede?

IK hoop dat jullie me vraag snappen.
Alvast bedankt!
 
PHP hulp

PHP hulp

14/05/2021 02:55:27
 
- Ariën -
Beheerder

- Ariën -

16/02/2016 19:25:22
Quote Anchor link
Ik heb even uitgetest op twee verschillende machines, en bij __DIR__ wordt inderdaad de juiste slash gebruikt afhankelijk van het besturingssysteem welke je draait.

Ook interessant is dat PHP een eigen constante aan boord heeft die de juiste slash bepaalt: PHP_DIRECTORY_SEPARATOR
Gewijzigd op 16/02/2016 19:54:57 door - Ariën -
 
Marthijn Buijs

Marthijn Buijs

16/02/2016 19:28:24
Quote Anchor link
Bedankt, dit was de oplossing op mijn vraag!

Edit:
Bedoel je niet DIRECTORY_SEPARATOR?
Gewijzigd op 16/02/2016 19:33:25 door Marthijn Buijs
 
- Ariën -
Beheerder

- Ariën -

16/02/2016 19:55:22
Quote Anchor link
Je hebt helemaal gelijk.
 
Thomas van den Heuvel

Thomas van den Heuvel

16/02/2016 22:14:09
Quote Anchor link
En nadat je dat 2x hebt ingetypt definieer je een constante met een kortere naam die daarvan is afgeleid :p
 
Ozzie PHP

Ozzie PHP

17/02/2016 00:42:48
Quote Anchor link
@Thomas:

Lol, ik wou het net zeggen ;-)
 
Ward van der Put
Moderator

Ward van der Put

17/02/2016 08:47:32
Quote Anchor link
Nou moet ik eerlijk bekennen dat ik ook nog steeds DIRECTORY_SEPARATOR gebruik, maar dat is aangeleerd gedrag. Je kunt het verschil tegenwoordig namelijk negeren: elk modern besturingssysteem — óók Windows — ondersteunt de forward slash / in paden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

echo '<pre>';

// Huidige directory met / in plaats van \
$dir = str_ireplace('\\', '/', __DIR__);
var_dump(is_dir($dir));

// Huidig bestand met / in plaats van \
$file = str_ireplace('\\', '/', __FILE__);
var_dump(is_file($file));

// Inhoud van dit PHP-bestand
$code = readfile($file);
var_dump($code);
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.