PréChargement de sources et img

Résolu
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007 - 24 août 2007 à 15:11
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 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.

Je vous remercie.

Salutations.

7 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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.

Et c'est logique.

bref : serveur A:
a.php :
<?php
function sayHello() {
echo 'hello';
}
sayHello();
?>

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).
3
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
24 août 2007 à 16:28
Salut
comment ça une solution de remplacement ? où est le problème ??
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
24 août 2007 à 17:29
Cet include ne fonctionne pas,

include 'http://le.scenariste.free.fr/modules/myagmi/preloads.php'; 







$tabSrc=preloads("js");

Cette instruction se plante fonction introuvable alors que la fonction se trouve dans le preload ?
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
24 août 2007 à 23:26
Merci pour ces précisions, je me suis orienté vers du javascript pour charger mes scripts.

Salutations.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
25 août 2007 à 01:13
Ok tu parlais de la 3ème ligne, pas de la 2ème...
0
sambucus Messages postés 17 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 25 août 2007
25 août 2007 à 06:14
Oui je vais passer par une routine ajax ce qui ne fera pas de difficulté.
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
25 août 2007 à 07:19
tu sais qu'on ne peut pas faire de requête ajax cross-site ?
0
Rejoignez-nous