OVH Community, votre nouvel espace communautaire.

problemes avec fopen et ftp


vcasse
18/02/2016, 10h27
Bonjour Gemo et nitrix-ud,

@Gemo, je t'ai répondu sur un autre sujet. C'est pour cela qu'il faut éviter les doublons

Bonjour gemo,

Ca n'a aucun lien puisque ton FTP n'est pas chiffré.
Cependant, on peut regarder l'origine du probléme.

Quel est le code de retour envoyé par la fonction qui te permet d'appeler ce fichier ?
Utilises tu fopen, curl ou autre chose ?

Cordialement,
Vincent
@nitrix-ud : Peux tu fournir les mêmes informations, que nous recherchions la cause de ce soucis ?

Cordialement,
Vincent

nitrix-ud
18/02/2016, 08h36
J'ai moi aussi des pbs d'accès FTP, alors que j'ai un script quimarche depuis plus de 3 ans...

Un coup ça marche, un coup ça ne marche pas ou c'est extrêmement long...

Des soucis sur le mutu ?

gemo
15/02/2016, 21h06
Bonjour,
Après avoir profiter des conseils de tous et des bons services OVH, je n'ai plus eu de problème pour accéder aux fichiers de ftp distants pendant plusieurs années.

Tout a très bien fonctionner jusqu'à ces derniers jours... mais maintenant plus d'accès aux ftp ou de très rares accès occasionnels, mais rien de durable. alors que rien n'a été modifier .

Un petit conseil d'expert sera le bienvenu;..
Merci d'avance

gemo
15/02/2016, 20h35
Bonjour,
Après avoir profiter et mis en oeuvre tous les conseils repris ci dessus, soit remplacer fopen par cURL, tout à fonctionner sans problème.
Mais depuis quelques jours, refus de fonctionnement de cURL...
Les adresses ftp n'ont pas changées et tout fonctionne quand on s'y adresse directement, mais aucun résultat sur le serveur OVH.
J'ai vu sur un autre forum OVH
https://forum.ovh.com/showthread.php...r-version-curl
qu'il y avait une mise à jour en cours, mais comme je ne suis pas un pro je ne suis pas certain que ce soit l'origine de mon problème...
Si quelqu'un a une petite idée ou un conseil, je suis preneur .
Merci d'avance

gemo
15/02/2016, 20h30
Bonjour,
Après avoir profiter et mis en oeuvre tous les conseils repris ci dessus, soit remplacer fopen par cURL, tout à fonctionner sans problème.
Mais depuis quelques jours, refus de fonctionnement de cURL...
Les adresses ftp n'ont pas changées et tout fonctionne quand on s'y adresse directement, mais aucun résultat sur le serveur OVH.
J'ai vu sur un autre forum OVH
https://forum.ovh.com/showthread.php...r-version-curl
qu'il y avait une mise à jour en cours, mais comme je ne suis pas un pro je ne suis pas certain que ce soit l'origine de mon problème...
Si quelqu'un a une petite idée ou un conseil, je suis preneur .
Merci d'avance

f6gci
21/12/2014, 08h59
Bonjour,
C'est fait tout est reparti avec cURL.
merci

Jikoo
19/12/2014, 16h33
Citation Envoyé par f6gci
...car ça m'éviterais de reprendre l'écriture d'un bon nombre des fichiers...
Justement, je serais toi, je les reprendrai maintenant.

Exemple:
Tu te créés une class MyCurl{ } genre comme https://github.com/shuber/curl/blob/master/lib/curl.php
Et tu remplaces tes fopen() par un appel à ta class MyCurl{ }

Voilà qui est beaucoup plus simple. Et surtout, cURL est beaucoup plus "ergonomique" que fopen().
http://php.net/manual/fr/book.curl.php

f6gci
18/12/2014, 18h02
[Bonjour gaston,
merci de votre réponse.
Oui ça fonctionne avec cURL, mais je suis un peu têtu et je voudrais bien savoir l'origine du problème...
car ç a m'éviterais de repredre l'écriture d'un bon nombre des fichiers...
cordialement

Gaston_Phone
18/12/2014, 14h23
CURL

Moi aussi, j'utilise CURL sur un hébergement PERSO et cela fonctionne très bien :

Code PHP:
$url "http://www.xxx.com";
$ch_rech curl_init();                    // Initialiser CURL.
curl_setopt($ch_rechCURLOPT_URL$url);  // Indiquer quel URL à récupérer
curl_setopt($ch_rechCURLOPT_HEADER0);  // Ne pas inclure l'header dans la réponse.
ob_start();                                // Commencer à 'cache' l'output.
curl_exec($ch_rech);                       // Exécuter la requète.
curl_close($ch_rech);                      // Fermer CURL.
$Results ob_get_contents();              // Sauvegarder 'cache' dans variable $Results.
ob_end_clean();                            // Vider le buffer. 

f6gci
18/12/2014, 13h54
Bonjour Jikoo,
merci de votre réponse
Le premier script avec fopen est celui que j'utilise... ça marche bien en local, mais pas chez OVH...
Je n'ai pas testé avec cURL.
Je me demande bien ce qui peut empêcher le bon fonctionnement de fopen sur le serveur OVH
à suivre

Jikoo
16/12/2014, 18h57
Bah moi, ça marche en local et sur mon hébergement mutu!
(PHP Version 5.4.34)

Voici mon code PHP pour afficher le contenu de ton fichier.
Code PHP:
$file_handle fopen("ftp://ftp.swpc.noaa.gov/pub/latest/RSGA.txt""rb");

while (!
feof($file_handle)) {

    
$line fgets($file_handle);
    print 
$line "";

}

fclose($file_handle); 

Tu as aussi cURL (perso, c'est ce que je préfère!):
(Note que c'est juste une démo,. A toi de contrôler les erreurs et d'apporter des améliorations...)
Code PHP:
$url 'ftp://ftp.swpc.noaa.gov/pub/latest/RSGA.txt';

$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$resultat curl_exec($ch);
curl_close($ch);

var_dump($resultat); 

f6gci
16/12/2014, 09h15
Bonjour à tous,

J'ai un site depuis plusieurs années et je n'ai jamais eu de problèmes majeurs.

L'essentiel du site consiste à afficher et regrouper et des données relatives à l'activité solaire disponibles sur un site USA de la NASA sous forme de fichiers txt ou dat.
Dernièrement les adresses d'accès ont été modifiées et j'ai donc repris la programmation pour mettre à jour.
Les anciennes adresses étaient de la forme :
http://www.swpc.noaa.gov/ftpdir/latest/RSGA.txt
les nouvelles sont :
ftp://ftp.swpc.noaa.gov/pub/latest/RSGA.txt

Je n'ai rien changer d'autres dans mes scripts php et les fichiers avec les nouvelles adresses ne s'ouvrent pas…
Les adresses sont correctes et les fichiers s'ouvrent bien avec un navigateur ( OPERA FIREFOX ou autre).
En local avec EASYPHP 5.3.1 les fichiers s'ouvrent aussi et me laissent penser que le script est OK,( même si pas parfait en écriture…)
Exemple:
ancien script:
$fichierrsga = fopen("http://www.swpc.noaa.gov/ftpdir/latest/RSGA.txt", "rb");
nouveau :
$fichierrsga = fopen("ftp://ftp.swpc.noaa.gov/pub/latest/RSGA.txt", "rb");

Le php info sur EasyPhp est:
PHP Version 5.3.2
avec allow_url_fopen sur On en local et master value
allow_urlinclude sur Off en local et master value

Chez OVH:
PHP Version 5.4.34
avec allow_url_fopen sur On en local et master value
allow_urlinclude sur Off en local et master value

Le code erreur est
function.fopen ; failed to open http request failed/1.0 ……………

Tous les conseils me seront bien utiles… car je ne suis pas un pro !!
Merci de me lire