Heim  >  Artikel  >  Backend-Entwicklung  >  PHP7 PHP-Kenntnisse zum Hochladen von Bildern basierend auf Curl

PHP7 PHP-Kenntnisse zum Hochladen von Bildern basierend auf Curl

jacklove
jackloveOriginal
2018-06-25 16:59:302900Durchsuche

Dieser Artikel stellt hauptsächlich die von PHP7 basierende Bild-Upload-Funktion vor und vergleicht und analysiert die Implementierungs- und Verwendungsfähigkeiten der Curl-Bild-Upload-Funktion vor den Versionen PHP5.5 und PHP7 in Form von Beispielen siehe es

Das Beispiel in diesem Artikel beschreibt die von PHP7 basierend auf Curl implementierte Bild-Upload-Funktion. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Je nach verschiedenen PHP-Versionen ist die Methode zum Hochladen des Curl-Simulationsformulars unterschiedlich

Vor 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);

Nach php5.5, zu 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);

Eine kompatible Methode wird unten bereitgestellt:

$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);

Darunter:

$path: ist die Adresse von das hochzuladende Bild

$url: Zielserveradresse

zum Beispiel

$url="http://localhost/upload.php";
$path = "/bg_right.jpg"

Beispiel für 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);
?>

Artikel, die Sie interessieren könnten:

PHP5.0~ 5.6 Kompatibilität verschiedener Versionen cURL-Datei-Upload-Funktion Beispielanalyse PHP-Tipps

PHP-Blockabfrage-Implementierungsmethodenanalyse PHP-Tipps

CURL-Datei Beispiel-Analyse einer PHP-Funktion hochladen, die mit PHP5 und PHP7 kompatibel ist. Tipps

Das obige ist der detaillierte Inhalt vonPHP7 PHP-Kenntnisse zum Hochladen von Bildern basierend auf Curl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn