file_exists

Répondre
Keika
le 03/01/2008 à 11:55
Keika
Desole double post;

Aussi, je pense, pas sur mais pratiquement, que si tu remplaces $_SERVER['PHP_SELF'] par ./ ca donnera le meme resultat, et ce partout ou que tu mettes tes pages... Et peut importe les virtualhost, que tu ais un lien www.php_5/ ou http;//localhost/ ca rendra pareil tant que tu utilises ./ au debut de tes liens.
Le PHP --> C'est dur !
i M@N
le 03/01/2008 à 12:02
i M@N
Hello.

Nan mais bon ... déjà le raisonnement à la base est mauvais.
Pourquoi vouloir tester l'existence d'une page qu'on définit soi-même dans un array ?
Mais bon si t'y tiens vraiment :
<?php
if (in_array($page, $allowedPages)) {
if (file_exists($page.'.php') {
include $page.'.php';
}
}
?>


Sinon tu fais un switch :
<?php 
if (isset($_GET['page'])) $page = $_GET['page']; else $page = 'accueil.php';
//Contenu dépendant de la valeur du paramètre
switch ($page) {
case 'accueil' : @include('./accueil.php'); break;
case 'news' : @include('./news.php'); break;
case 'contact' : @include('./contact.php'); break;
default : @include('./accueil.php'); break;
}
?>


@+...
One Love, One Heart, One Unity.
jackbocar
le 03/01/2008 à 13:41
jackbocar
Bonjour,

Par ce que, quelquefois, je vais sur le net et je regarde ce qu'il se fait, et j'ai vu sur des forums, des scripts qui ressemblaient à mon tableau. Ces scripts ont ce fameux "file_exists".

Alors, je demandais simplement comment je pouvais l'installer sur mon tableau. Pensant, que c'était une norme de sécurité à installer.

Et puis, tu as probablement raison, il doit être inutile de placer ce "file_exists" sur mes pages que j'ai définit moi-même .

Donc, si je te suis bien, mon tableau avec les noms de page que j'ai définit, se suffit à lui-même question sécurité ?

Pour ce qui est du tableau avec les noms de page, il faut qu'il soit écrit comme cela, car, comme c'est mon index.php qui commande le tableau, le $_SERVER['PHP_SELF'], est indispensable.

Si vous êtes allez sur mon site, vous avez dû remarquer que toutes les pages dans la barre des urls sont : index.php?page=clement-V

L'extension de cette page n'apparait pas, c'est index.php, et lui seul, qui a l'extension .php

Jack Bocar
Keika
le 03/01/2008 à 15:09
Keika
Qu'est-ce tu racontes?!

$_SERVER['PHP_SELF'] te renvoit http://www.monsite.com/le_dossier_de_base_sil_y_a/ et ./ fait exactement pareil... c'est ce que j'utilise et quelque soit l'url ca fonctionne...
Le PHP --> C'est dur !
ZeNull
le 01/05/2008 à 16:01
ZeNull
Pour info, file_exists(chemin_fichier) ne fonctionne PAS avec les fichiers distants comme http://www.monsite.totot/images/monimage.jpg ...

Il faut donner le chemin sur le disque dur /RacineSite/images//monimage.jpg

Si quelqu'un connaît un équivalent de file_exists pour les fichiers distants, je suis preneur !!
P'têt ben....
LupusMic
le 01/05/2008 à 17:14
LupusMic
Fais un fopen.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
v
le 18/09/2008 à 14:15
v
$filename = 'http://servername/medias/logo.gif';
$dataFile = @fopen( $filename, "r" );

if ( $dataFile ){
echo "The file exists";
@fclose($filename);
}else{
echo "The file dnt exist";
}
v
LA GLOBULE
le 18/09/2008 à 14:24
LA GLOBULE
Opération souvent impossible vu que la directive allow_url_fopen est rarement activée sur un serveur en production.

Il faudrait utiliser la lib CURL.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours