Fonction copy()
Bonjour,
J'ai crée un script qui fonctionne très bien en local.
Son but, télécharger des documents PDF sur un site externe (pas a moi) et les rapatrier sur mon serveur.
Donc en local il marche très bien, mais dès que je le met online, ça ne fonctionne plus.
Voilà le script :
<?php
$file = 'http://www.autresite.com/file.pdf';
$newfile = 'mon_dir/file.pdf';
if (!copy($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
?>
Quelqu'un a une idée ?
Merci
P.S. La fonction copy() fonctionne sur mon serveur, j'ai testé une copie locale. Et mon_dir est bien chmodé en 777
Surement que le PHP de ton serveur à la valeur allow_url_fopen à false dans son php.ini.
Pour télécharger un fichier, le mieux reste d'utiliser curl.
Damn !
curl est une extension PHP non ? Comment puis-je l'intégrer sur un serveur loué ou je n'ai pas la main ?
Regarde si tu ne l'as pas déjà via un phpinfo.
C'est une extension très souvent utilisée, justement lorsque l'on autorise pas l'allow_url_fopen (et c'est préférable d'utiliser curl).
Merci beaucoup !
Effectivement cette extension était activée !
Voilà le code utilisé, au cas ou!
J'en profite pour poser une autre question.
Mon code ci-dessus fonctionne.
Le souci c'est que si le fichier "file.pdf" sur le serveur distant n'existe pas, il me crée quand même le file.pdf en local, mais vide.
Comment tester si le fichier est présent sur le serveur distant ?
Le file_exist ne fonctionne pas a distance... :S
file_exists ne fonctionne pas à distance justement pour la même raison (allow_url_fopen à false).
Pour tester si le fichier existe avec curl, le plus simple est de récupérer les headers http et de vérifier qu'il ne s'agit pas d'une 404.
Tu peux les récupérer via un curl_setopt contenant CURLOPT_HEADER à true.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: