Heim  >  Artikel  >  Backend-Entwicklung  >  PHP7-Upload-Bildfunktion basierend auf Curl

PHP7-Upload-Bildfunktion basierend auf Curl

不言
不言Original
2018-06-01 11:53:341783Durchsuche

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

Verwandte Empfehlungen:

PHP implementiert das Hochladen mehrerer und einzelner Bilder -Bild-Upload-Funktionen

PHP PDO-basierte Datenbankbetriebsklasse [kann MySQL, SQLServer und Oracle unterstützen]

PHP implementiert die Funktion, die wiederholte Übermittlung von Formularen zu verhindern (basierend auf der Token-Verifizierung)

Das obige ist der detaillierte Inhalt vonPHP7-Upload-Bildfunktion 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