Astuces PHP7 PHP pour télécharger des images basées sur curl

jacklove
Libérer: 2023-04-01 19:08:02
original
2936 Les gens l'ont consulté

Cet article présente principalement la fonction de téléchargement d'images implémentée par PHP7 basée sur curl, et compare et analyse les compétences d'implémentation et d'utilisation de la fonction de téléchargement d'images curl avant php5.5 et php7 sous forme d'exemples. à cela

L'exemple de cet article décrit la fonction de téléchargement d'image implémentée par PHP7 basée sur curl. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Selon les différentes versions de php, la méthode de téléchargement du formulaire de simulation curl est différente

Avant php5.5

$curl = curl_init();
if (defined('CURLOPT_SAFE_UPLOAD')) {
  curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
}
$data = array('file' => '@' . realpath($path));//‘@' 符号告诉服务器为上传资源
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1 );
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
$result = curl_exec($curl);
$error = curl_error($curl);
Copier après la connexion

Après php5.5, vers php7

$curl = curl_init();
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
$data = array('file' => new \CURLFile(realpath($path)));
url_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1 );
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
$result = curl_exec($curl);
$error = curl_error($curl);
Copier après la connexion

Fournir une méthode compatible :

$curl = curl_init();
if (class_exists('\CURLFile')) {
 curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
$data = array('file' => new \CURLFile(realpath($path)));//>=5.5
} else {
 if (defined('CURLOPT_SAFE_UPLOAD')) {
  curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
 }
 $data = array(&#39;file&#39; => &#39;@&#39; . realpath($path));//<=5.5
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1 );
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
$result = curl_exec($curl);
$error = curl_error($curl);
Copier après la connexion

Parmi elles :

$path : est l'adresse de l'image à uploader

$url : adresse du serveur cible

par exemple

$url="http://localhost/upload.php";
$path = "/bg_right.jpg"
Copier après la connexion

Exemple upload.php :

<?php
  file_put_contents(time().".json", json_encode($_FILES));
  $tmp_name = $_FILES[&#39;file&#39;][&#39;tmp_name&#39;];
  $name = $_FILES[&#39;file&#39;][&#39;name&#39;];
  move_uploaded_file($tmp_name,&#39;audit/&#39;.$name);
?>
Copier après la connexion

Articles qui pourraient vous intéresser :

PHP5.0 ~ 5.6 chaque version compatibilité cURL fonction de téléchargement de fichiers exemple d'analyse compétences php

méthode d'implémentation de requête de bloc PHP analyse compétences php

Compatible avec php5 Analyse des compétences php avec la fonction de téléchargement de fichiers cURL exemple de php7

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal