// Fonction permettant l'envoi d'un fichier sécurisé en un seul appel
function partager_io($cheminfichier){
if(!$cheminfichier)return ['erreur'=>'nom de fichier vide'];
if(!is_readable($cheminfichier))return ['erreur'=>'accès en lecture manquante'];
if(!file_exists($cheminfichier))return ['erreur'=>'le fichier n\'existe pas'];
if(!in_array('curl',get_loaded_extensions()))
return ['erreur'=>'extension curl manquante'];
if(!($http=curl_init('https://partager.io/upload/')))
return ['erreur'=>'initialisation curl impossible'];
curl_setopt($http,CURLOPT_POST,true);
curl_setopt($http,CURLOPT_FRESH_CONNECT,true);
curl_setopt($http,CURLOPT_FOLLOWLOCATION,false);
curl_setopt($http,CURLOPT_RETURNTRANSFER,true);
curl_setopt($http,CURLOPT_POSTFIELDS,['fichier'=>'@'.$cheminfichier]);
$sortie=curl_exec($http);
curl_close($http);
if($sortie===false)
return ['erreur'=>'connexion interrompue avec partager.io'];
$sortie=json_decode($sortie,true);
if(null==$sortie)
return ['erreur'=>'erreur serveur partager.io'];
return $sortie;
}
// On se place dans le répertoire courant du script
chdir(dirname(__FILE__));
// On envoi à partager.io le fichier "image.jpg" du répertoire courant de ce script
$retour=partager_io('image.jpg');
// On vérifie que le fichier est bien envoyé
if(isset($retour['erreur'])){
// Traitement de l'erreur
echo $retour['erreur'];
} else {
// OK, on affiche l'URL du fichier en ligne
echo 'https://partager.io/'.$retour['id'];
}
1 commentaire