Page 1 sur 1

Pb de passage de variable avec $_GET

Posté : 19 janv. 2015, 14:07
par canard338
Après recherche sur différents forums, je n'ai pas trouvé mon bonheur.
Peut-être qq aura la solution.
J'ai simplifié le pb pour l'exposer.
J'ai le fichier php suivant :
<html>
<head></head>
<body>
<?php
echo "<p>" . $_GET['f'] . "</p>";
echo "<p>" . dirname($_GET['f']) . "</p>";
echo "<p>" . basename($_GET['f']) . "</p>";
$buf = dirname($_GET['f']) . "/" . basename($_GET['f']);
echo "<p>" . $buf . "</p>";
$buf2 = implode ( "/" , explode ( "/" , $_GET['f']));
var_dump (explode ( "/" , $_GET['f']));
echo "<p>" . $buf2 . "</p>";
echo "<p>Filesize 1 : " . filesize(rawurldecode($_GET['f'])) . "</p>";
echo "<p>Filesize 2 : " . filesize("../../CDPE/Documentation/Excel.xlsx") . "</p>";
echo "<p>Filesize 3 : " . filesize($buf) . "</p>";
echo "<p>Filesize 4 : " . filesize($buf2) . "</p>";
?>
</body>
</html>
Je l'appelle pour l'exemple par :
echo '<div class="col1"><a href="inc/dl.php?f=../../CDPE/Documentation/Excel.xslx"> <img alt="fichier" src="images/' . $buf .'.png" /></a></div>';
Et j'ai le résultat suivant :
../../CDPE/Documentation/Excel.xslx
../../CDPE/Documentation
Excel.xslx
../../CDPE/Documentation/Excel.xslx
array(5) { [0]=> string(2) ".." [1]=> string(2) ".." [2]=> string(4) "CDPE" [3]=> string(13) "Documentation" [4]=> string(10) "Excel.xslx" }
../../CDPE/Documentation/Excel.xslx
Filesize 1 :
Filesize 2 : 7754
Filesize 3 :
Filesize 4 :
Pourquoi donc ?
Merci pour votre aide.

Re: Pb de passage de variable avec $_GET

Posté : 19 janv. 2015, 14:37
par xTG
Pourrais-tu expliciter ta question ?
Car je ne vois rien de choquant dans ce que tu nous présentes.

Re: Pb de passage de variable avec $_GET

Posté : 19 janv. 2015, 15:11
par canard338
Bonjour,

Pourquoi n'ai-je pas 4 fois la même valeur devant correspondre au filesize ?
Là c'est un exemple.
Dans mon pg, je voudrais passer le chemin complet du fichier et pouvoir récupérer le filesise. Hors il ne s'affiche pas.
Je dois faire une erreur qq part ou il y a un problème d'encodage des caractères avec le $_GET.
En fait je ne trouve pas pourquoi il semble bien afficher la string mais qu'il ne me remonte pas la valeur du filesize.

Cdt,

Re: Pb de passage de variable avec $_GET

Posté : 19 janv. 2015, 15:32
par Berzemus
Tu nous affiches le rendu HTML du résultat.. montre nous un peu le code source de ce rendu :wink:

Par ailleurs, il serait sans doute utile de s'assurer que les erreurs, avertissements et notifications de PHP sont bien activés.

Re: Pb de passage de variable avec $_GET

Posté : 19 janv. 2015, 23:41
par canard338
Bon j'ai cherché pour faire afficher les erreurs.
En fait dans les 3 cas il y a l'erreur
Avertissement : filesize(): stat failed for ../../CDPE/Documentation/Excel.xslx ligne 92

Bon ça ne m'évoque pas grand chose.

Re: Pb de passage de variable avec $_GET

Posté : 19 janv. 2015, 23:50
par tof73
çà peut être une histoire de droit insuffisant pour avoir les infos sur les fichiers.
que retourne la fonction is_readable ?

Re: Pb de passage de variable avec $_GET

Posté : 20 janv. 2015, 00:11
par canard338
Non car le Filesize 2 ne retournerait pas la valeur puisque ces 4 appels à la fonction filesize pointent sur le même fichier.

Re: Pb de passage de variable avec $_GET

Posté : 20 janv. 2015, 01:08
par blof
Bonsoir,
Tu nous affiches le rendu HTML du résultat.. montre nous un peu le code source de ce rendu :wink:

Re: Pb de passage de variable avec $_GET

Posté : 20 janv. 2015, 08:26
par blof
xlsx != xslx :wink:

Re: Pb de passage de variable avec $_GET

Posté : 20 janv. 2015, 09:16
par canard338
Et comment je le trouve ce code source.
Je ne comprends pas ce que je dois montrer :
Tu nous affiches le rendu HTML du résultat.. montre nous un peu le code source de ce rendu
Dsl

Re: Pb de passage de variable avec $_GET

Posté : 22 janv. 2015, 14:24
par Berzemus
Et comment je le trouve ce code source.
Je ne comprends pas ce que je dois montrer :
Tu nous affiches le rendu HTML du résultat.. montre nous un peu le code source de ce rendu
Dsl
Tu génères une page HTML, que tu regardes dans un navigateur. Fait un petit ctrl+u, et tu verras le code source de la page HTML, que je suis si curieux de voir de mes petits yeux :wink: