sambucus
Messages postés17Date d'inscriptionsamedi 11 août 2007StatutMembreDernière intervention25 août 2007
-
24 août 2007 à 15:11
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 2012
-
25 août 2007 à 07:19
Bonjour,
Voici ce bout de code qui appelle à distance un php (2ème ligne) :
<?php
include 'preload.php';
include 'http://le.scenariste.free.fr/modules/myagmi/preloads.php';
$tabImg=preload("img");
foreach($tabImg as $i) echo $i;
$tabSrc=preloads("js");
foreach($tabSrc as $i) echo $i;
?>
Le premier charge des img et fonctionne.
Le deuxième charge des sources javascript fonctionne en interne, mais l'include à distance ne se fait pas ?
Alors que preloads.php existe la ou je le demande.
Voici le php preloads
<?php
function preloads($rep)
{
$dossier="/mnt/127/free.fr/e/2/le.scenariste/modules/myagmi/".$rep."/";
echo $dossier;
$pathname="http://le.scenariste.free.fr/modules/myagmi/".$rep."/";
//Compatibilité path Unix et windows
if (strpos($dossier,"\")) {$dossier.="\";}
else {$dossier.="/";}
if ($handle = @opendir($dossier))
{
//boucle de parcours de tous les éléments du répertoire
while (($file = @readdir($handle)) !== false)
{
if ($rep=="img") {
if (@getimagesize($dossier.$file)) //renvoi FAUX si le fichier n'est pas une image
{
$img[] = "\n"; }
} else if ($rep=="js") {
$src[] = "<script src='$pathname$file' type='text/javascript' /></script />\n"; }
}
}
@closedir($handle);
if ($rep=="img") return $img;
else if ($rep=="js") return $src;
}
?>
Si vous avez une solution de remplacement, je suis preneur.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 24 août 2007 à 22:40
Hello,
comme précisé sur la doc officielle, un rquire, include etc...sur un serveur distant fonctionne, MAIS c'est le serveur DISTANT qui exécute la page en question et renvoie le html généré.
Toute fonction, classe, var'iable etc PHP déclarée dedans ne sera donc pas visible sur le serveur faisant l'inclusion.
serveur B
b.php:
<?php
require_once'http://serveurA.com/a.php';
sayHello();
?>
On obtiendra sur b.php :
hello (celui de l'appel à sayHello() dans a.php)
puis une erreur indiquant qu'on appele une fonction sayHello() inexistante (résultant de l'appel à sayHello() dans b.php).