Heim > Artikel > Backend-Entwicklung > PHP7-Upload-Bildfunktion basierend auf Curl
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('file' => '@' . 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['file']['tmp_name']; $name = $_FILES['file']['name']; move_uploaded_file($tmp_name,'audit/'.$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]
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!