PHP - Include page externe

Résolu/Fermé
avrelbct
Messages postés
307
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
17 février 2011
- 28 mai 2010 à 10:39
avrelbct
Messages postés
307
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
17 février 2011
- 4 juin 2010 à 12:15
Bonjour,

J'ai un petit site en php, j'ai un menu, avec des boutons, une div principale au centre, et dès que je clique un bouton de mon menu, j'ai un include sur ma div centrale. En gros, quand je clique sur le bouton CV du menu, dans ma div centrale, j'ai un include de la page cv.inc.php. Ce que je voudrais, faire, c'est que pour mon bouton téléchargement, dans ma div du millieu ça soit l'url ftp://IP_serveur qui soit chargé. En gros, je veux que le contenu du ftp soit juste dans ma div centrale, pas que ça m'ouvre un nouvel onglet. Je veux avoir la page de mon ftp au centre, avec toujours mon menu en haut, mon header, mon footer.

Si vous ne comprenez pas mon problème ou souhaitez d'autre renseignements, n'hésitez pas. Merci bien.

9 réponses

thunder413
Messages postés
167
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
16 novembre 2012
23
28 mai 2010 à 10:48
bonjour
tu poura creer un fichier php que tu nomera par exemple ftpurl.php et tu y me le code suivant a titre d'exemple
<FRAMESET COLS="20%,80%">

<FRAME SRC="url_de_ton_ftp" NAME="gauche">

</FRAMESET>
ensuite tu fait appel a lui comme pour le bouton cv que t'a decrit plus haut
avec ca tu pora avoir le contenu de ton ftp dans une frame
j'espere que ceci t'aidera

CORDIALEMENT
0
avrelbct
Messages postés
307
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
17 février 2011
55
28 mai 2010 à 10:59
Je viens de faire ça, j'ai rien dans ma Frame. Meme pas d'erreur, mais ça ne m'affiche pas le contenu du ftp. Je n'ai pas non plus de message d'erreur.
J'ai recopié ton code dans un ftp2.inc.php, j'ai mis l'ip de mon ftp. J'ai le bouton qui fait un include de ftp2.inc.php.
0
Apatik
Messages postés
5290
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
787
28 mai 2010 à 11:14
Bonjour,

Lorsqu'on réalise un "include", le serveur inclu le contenu d'un fichier dans la page avant de la traiter. Or, lors du traitrement du code PHP, le serveur devrai se connecter via le protocole FTP a un autre serveur, alors qu'il ne peux que suivre une arborescence de fichier.
Pour afficher le contenu du serveur, tu dois trouver une fonction en php qui liste les fichiers du repertoire que tu cible, sachant que les deux serveurs doivent accès l'un à l'autre via l'arborescence.
Sinon, mais là je suis moins sur, tu dois pouvoir inclure un code javascript qui, une fois exécuté sur le poste client effectuera la requête FTP, et affichera le retour de celle-ci via le navigateur.
0
avrelbct
Messages postés
307
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
17 février 2011
55
28 mai 2010 à 11:29
Ah d'accord, mais dans ce cas là, pourquoi voir des articles comme ça :
https://www.commentcamarche.net/faq/15460-php-5-utiliser-une-url-externe-avec-la-fonction-include

je vais me pencher vers le listage alors. Mais du coup, je vais devoir mettre mes fichiers téléchargeables dans un répertoire de mon site, avec le ftp, en me logant avec un autre utilisateur, je pouvais être dans une autre partition.
0

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

Posez votre question
thunder413
Messages postés
167
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
16 novembre 2012
23
28 mai 2010 à 11:29
voila le code complet
<HTML>
<HEAD>

<TITLE>Votre titre</TITLE>
</HEAD>
<FRAMESET rows="*,*">
<iframe ROWS="30%, *" src="url de ton ftp" />
</FRAMESET><noframes></noframes>
</HTML>


au fait ne t'attend pas a voir une erreur c'est du pure html soit ca marche et sa s'affiche soit une page blanche
0
Apatik
Messages postés
5290
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
787
28 mai 2010 à 12:21
Ok, PHP5 peux suivre une url en plus d'une arborescence.. Mais toujours suivant le protocole HTTP, et non FTP, donc ça ne résoud pas le problème.
Par contre, tu peux éventuellement mettre une page PHP sur l'autre serveur qui liste les fichiers, et l'inclure depuis le site.
0
avrelbct
Messages postés
307
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
17 février 2011
55
28 mai 2010 à 13:33
Bah du coup j'ai utilisé une fonction php qui liste les fichiers. ça les affiche et ils sont téléchargeable en faisant un clique-droit, enregistrer sous. C'est pas optimal, j'aurais aimé que dès qu'on clique dessus ça lance le téléchargement, mais bon ça ira bien comme ça, j'ai toujours la possibilité de mettre un lien vers mon ftp de toute façon.
0
Apatik
Messages postés
5290
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
787
28 mai 2010 à 13:39
Donc le problème est résolu?

Comment as-tu résolu le problème du lien entre les deux serveurs? A moins que ça soit la même machine? Tu peux nous montrer le code pour lister les fichiers s'il te plait? Je pense qu'il y a un moyen de t'arranger un petit quelque chose..
0
avrelbct
Messages postés
307
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
17 février 2011
55
4 juin 2010 à 12:15
Le FTP et le web sont sur le même serveur. Mon code est le suivant :

function listing($repertoire){

	$fichier = array();

	if (is_dir($repertoire)){

		$dir = opendir($repertoire);                              //ouvre le repertoire courant désigné par la variable
		while(false!==($file = readdir($dir))){                             //on lit tout et on récupere tout les fichiers dans $file

			if(!in_array($file, array('.','..'))){            //on eleve le parent et le courant '. et ..'

				$page = $file;                            //sort l'extension du fichier
				$page = explode('.', $page);
				$nb = count($page);
				$nom_fichier = $page[0];
				for ($i = 1; $i < $nb-1; $i++){
					$nom_fichier .= '.'.$page[$i];
				}
				if(isset($page[1])){
					$ext_fichier = $page[$nb-1];
					if(!is_file($file)) { $file = '/'.$file; }
				}
				else {
					if(!is_file($file)) { $file = '/'.$file; }            //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
					$ext_fichier = '';
				}

				if($ext_fichier != 'php' and $ext_fichier != 'html') {        //utile pour exclure certains types de fichiers à ne pas lister
					array_push($fichier, $file);
				}
			}
		}
	}

	natcasesort($fichier);                                    //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse

	foreach($fichier as $value) {
		?><div id="contenu"><?php
			echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />';
			?></div><?php
	}

}

//exemple d'utilisation :

listing('files');        //chemin du dossier

}
?>
0