Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2012, 00h01   #1
Membre habitué
 
Inscription : juin 2004
Messages : 614
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 614
Points : 136
Points : 136
Par défaut Explication de mon propre code ?!

Voici le code sur lequel je m'interroge :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// Chemin vers tes images sur le serveur
define('http://www.espaceimagi.be/a_renaud/galery/', 'images');
$aIMG = array();
 
// Nombre d'images par scroll
$nb_img=5;
// Chemin vers les images
$d = dir('../a_renaud/galery/');
while (false !== ($file = $d->read())) {
	if($file != '.' && $file != '..')
	{
		// Ne sélectionner que les images
		$extension = strrchr($file, '.');
		$pattern = '`^.(jpg)$`i';
		if(preg_match($pattern, $extension))
		{
			// Tableau contenant les images à afficher
			$aIMG[] = $file;
		}
	}
}
$d->close();
?>

A la ligne 3 on voit un chemin complet 'http://www.espaceimagi.be/a_renaud/galery/', 'images'
et à la ligne 9 on voit un chemin
'../a_renaud/galery/'
J'avais mis aussi 'http://www.espaceimagi.be/a_renaud/galery/' mais ça ne marchait pas et j'ai du remplacer par '../a_renaud/galery/'.

Je ne comprends pas pourquoi quelqu'un peut il m'expliquer ou et pourquoi on doit utiliser l'un ou l'autre ?

Merci.
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 06h20   #2
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 727
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 727
Points : 3 294
Points : 3 294
Salut

Code :
1
2
// Chemin vers tes images sur le serveur
define('http://www.espaceimagi.be/a_renaud/galery/', 'images');
La fonction define() sert à créer une constante.
Pour quelle raison tentes tu ici de créer une constante ?

A savoir qu'une constante à un nom et une valeur :
Le 1er paramètre correspond au nom, le 2ème à la valeur.
De plus, et par convention d'écriture, le nom d'une constante se fait en majuscule.
A la limite ça aurait donné quelque chose comme :
Code :
define('URL_GALERIE_IMAGES', 'http://www.espaceimagi.be/a_renaud/galery/');
La doc concernant la fonction -> define()


Citation:
Je ne comprends pas pourquoi quelqu'un peut il m'expliquer ou et pourquoi on doit utiliser l'un ou l'autre ?
Il y a 2 types de chemins qu'il ne faut surtout pas confondre.

- Les chemins "physiques" qui eux sont liés au système de fichier -> le disque
Comme /home/chemin/du/www/(les fichiers du site ici)
- Et les chemins que je qualifierais de "virtuels" que sont les URLs.
Comme http://www.domaine.com/un_document.php


Si tu manipules des fichiers sur le disque, il faut utiliser des chemins "physiques".

Après, vient un autre aspect que sont les chemins absolu ou relatif, valable aussi bien pour des URLs que des chemins physiques.
Un chemin absolu est un chemin complet, donc contenant toute l’arborescence.
Un chemin relatif est en relation d'où le code est exécuté ou d'où on se trouve dans l'arborescence.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 30
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h44.


 
 
 
 
Partenaires

Hébergement Web