Page 1 sur 1

Atteindre un répertoire sur un site exterieur

Posté : 29 août 2016, 11:42
par Zerge
Bonjour,
J'envoie les images d'une caméra sur mon site tous les un certain temps (date incluse dans le nom du fichier). Par une routine php j'affiche la dernière image et j'efface les autres (ça prend vite de la place).
J'ai une deuxième caméra qui ne veut pas envoyer les images sur ce même site (black listée?). J'envoie donc sur un autre site qui n'a rien à voir avec celui sur lequel je travaille (pagesperso-orange qui n'accepte pas la programmation php). Les images y sont.
J'essaie d'utiliser la routine qui fonctionne sur mon site en définissant $NomRep="http://nomdusite-pagesperso-orange.fr/images/" qui me retourne autre chose que prévu :
Après OpenDir, une boucle lit les fichiers jusqu'à ce qu'il n'y en ait plus... et les affiche. J'en ai 6 en tout pour essai.
Or, la boucle que je n'ai pas touchée (que le nom du site/répertoire) devient interminable et je n'ai plus d'affichage du nom du fichier image.
Je suppose que je ne suis peut-être pas dans le bon répertoire ?
Une idée ? Merci par avance.

Re: Atteindre un répertoire sur un site exterieur

Posté : 29 août 2016, 14:29
par @rthur
Bonjour, tu ne peux ouvrir un répertoire pour lister les fichiers avec opendir que sur le même serveur que ton serveur PHP, ça ne peut pas fonctionner à distance.

2 options :
- soit tu trouves pourquoi ta 2ème caméra n'arrive pas à uploader ses images sur ton serveur (et c'est à mon sens le + simple et logique)
- soit tu utilises les fonctions FTP en remplacement de opendir pour lister les fichier d'un répertoire distant en FTP.

Re: Atteindre un répertoire sur un site exterieur

Posté : 29 août 2016, 19:06
par Zerge
Merci pour cette réponse.
Quelles fonctions FTP utiliser ? (avec comme problème qui viendra une fois listé les fichiers, ce sera de pouvoir les effacer...).
J'ai essayé file_get_contents sans succès. Peut être que je ne sais pas faire.
Pour la caméra, elle n'accepte pas de se connecter sur le site depuis quelques temps. Elle donne une erreur pas compréhensible. Pas d'aide du côté des fabricants ou revendeurs.

Re: Atteindre un répertoire sur un site exterieur

Posté : 29 août 2016, 21:12
par @rthur
Merci pour cette réponse.
Quelles fonctions FTP utiliser ? (avec comme problème qui viendra une fois listé les fichiers, ce sera de pouvoir les effacer...)
Un petit effort et une recherche Google plus tard : http://php.net/manual/fr/ref.ftp.php

Re: Atteindre un répertoire sur un site exterieur

Posté : 31 août 2016, 19:17
par Zerge
Bonjour,
Pas très simple..., tout ne fonctionne pas comme cela semble être le cas de ce qui est dit.
Ce que j'ai utilisé :
ftp_connect($Mon_site_ftp) [pas en http] et @ftp_login($connexion, $Utilisateur, $MdP) pour me connecter.
@ftp_chdir($connexion, "Images_Cam"); pour être dans le répertoire où sont envoyées les images
$Contenu = ftp_nlist($connexion, ".") et $Dim_Tableau=count($Contenu) pour connaître le nombre de fichiers
Date('H').Date('i');// heure, min, pas sec, et pas centièmes pour différencier les images actuelles et les anciennes
$pos = strrpos($Nom_Fichier,$Nom_Fichier_a_copier) pour déterminer si la "bonne" date est dans le nom de l'image
ftp_get($connexion, "cam04_1.jpg", $Nom_Fichier, FTP_BINARY) pour recopier (dans le bon répertoire et avec le bon nom) l'image qui m'intéresse
ftp_delete($connexion,$Nom_Fichier) pour supprimer les images qui ne sont plus valides
@ftp_close($connexion) pour me déconnecter.
Le tout fonctionne.
Petite remarque : j'ai essayé d'utiliser la fonction fgets(STDIN) pour entrer mon mot de passe au clavier, ça ne va pas (malgré les différents exemples trouvés.
Je marque le sujet résolu.
Merci de votre aide.