EverKB

Knowledge Base Ever

Πώς να χρησιμοποιήσετε το cURL για να ανεβάσετε αρχεία σε PHP

2019-11-18 23:43:46

Ετικέτα: PHP, PHP5.5, cURL, CURLOPT_POSTFIELDS, File Upload, CURLFille, Αρχείο μεταφόρτωσης PHP

Η PHP χρησιμοποιεί τη βιβλιοθήκη libcurl που δημιουργήθηκε από το Daniel Stenberg για να συνδεθεί σε διάφορους διακομιστές. Τα πρωτόκολλα που υποστηρίζει είναι http、https、ftp、gopher、telnet、dict、file、ldap. Το Libcurl υποστηρίζει επίσης τα πιστοποιητικά HTTPS, POST, PUT, FTP, κλπ. Υποστηρίζει επίσης φόρτωση βάσει φόρμας, διακομιστή μεσολάβησης, cookies, username + password authentication.

Η PHP χρησιμοποιεί τη βιβλιοθήκη cURL για να ξεκινήσει αυτές τις αιτήσεις HTTP. Το cURL εξαρτάται από libcurl7.10.5 ή παραπάνω.

Στην PHP 5.4 ή νωρίτερα, η ενθυλάκωση των αρχείων upload cURL είναι διαδικαστική:

$ch = curl_init();
$data = array('name' => 'File1', 'file' => '@/path/to/file.png');
curl_setopt($ch, CURLOPT_URL, 'https://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);

Στην PHP 5.5 ή μεταγενέστερη, η ενσωμάτωση του αρχείου μεταφόρτωσης cURL ενημερώνεται στην κλάση CURLFille:

$ch = curl_init();
$data = array('name' => 'File1', 'file' => new CURLFille('/path/to/file.png'));
curl_setopt($ch, CURLOPT_URL, 'https://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);

Ετικέτα

CentOS7 CentOS PHP Linux Python Python3 MySQL MariaDB YUM JavaScript mysql_native_password PHP7 CSS Redis MySQL8 caching_sha2_password HTML Bluetooth Failed to build these modules: _ctypes Minimal ISO substr date sub INTERVAL PECL SQL Date Funcitons Wi-Fi CodeIgniter font-size root Tag Cloud dual network interfaces Laravel ss5 apache httpd CURLFille horiz-align node.js ShadowsocksR vertical-align BarManager exec mb_substr PyCharm SUBDATE date add IntelliJIDEA PEAR SOCKS5 Proxy Server WebStorm Chrome find remi Tag du jQuery PHP5.5 src Apache cURL hide nginx Shadowsocks-Python V2Ray availability eth0 MariaDB10.4 PostgreSQL sub folder date Install MongoDB pdo_sqlsrv SOCKS5 Web Server File Upload mssql-tools register_shutdown_function Symfony DevExpress JetBrain php-fpm sqlsrv Zend Framework ADDDATE height network interface Shadowsocks-Libev unixODBC-devel error_get_last Port 80 string Aura data INDENTIFIED BY password policy requirements SOCKS Web Development Fedora Media Writer msodbcsql Redis5 SVN Deepin jemalloc SQLAlchemy absolute convert FuelPHP mysqlclient Shadowsocks toggle Error Control Operator margin PHPUnit Framework ss5.passwd at-symbol daemon process IIS password SOCKET vps center Fatal Errors MongoDB4 sudoers DATE_SUB Phalcon SQL Server 2017 WiFi .htaccess Compiling PHP frequency conflict set_error_handler TestCase Elasticsearch7.3 PHPUnit ss5.conf apr daemon HTTP particles.js Slim Vincent Garreau Failed to build these modules: _uuid MongoDB Sudo DATE_ADD ip command pg_bha.conf SQL Server width Compiling Apache Frameworks MySQL-python scrollbar Tcp BBR Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 Apache2.4 CURLOPT_POSTFIELDS NodeJs show VIM

Τελευταίο άρθρο