EverKB

Knowledge Base Ever

Cách sử dụng cURL để tải lên các tệp trong PHP

2019-11-18 23:43:46

Nhãn: PHP, PHP5.5, cURL, CURLOPT_POSTFIELDS, File Upload, CURLFille, Tệp tải lên PHP

PHP sử dụng thư viện libcurl được tạo bởi Daniel Stenberg để kết nối với các máy chủ khác nhau. Các giao thức mà nó hỗ trợ là http、https、ftp、gopher、telnet、dict、file、ldap. Libcurl cũng hỗ trợ các chứng chỉ HTTPS, POST, PUT, FTP, v.v ... Nó cũng hỗ trợ tải lên dựa trên biểu mẫu, proxy, cookie, tên người dùng + xác thực mật khẩu.

PHP sử dụng thư viện cURL để bắt đầu các yêu cầu HTTP này. cURL phụ thuộc vào libcurl7.10.5 trở lên.

Trong PHP 5.4 trở về trước, việc đóng gói các tệp tải lên cURL là thủ tục:

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

Trong PHP 5.5 trở lên, việc đóng gói tệp tải lên cURL được cập nhật thành lớp 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);

Nhãn

CentOS7 CentOS PHP Linux Python3 Python MySQL MariaDB YUM JavaScript CSS Redis MySQL8 caching_sha2_password HTML mysql_native_password PHP7 date add IntelliJIDEA PEAR SOCKS5 Proxy Server WebStorm find remi Tag Chrome du jQuery PHP5.5 src Apache cURL hide nginx Shadowsocks-Python V2Ray eth0 MariaDB10.4 PostgreSQL sub folder availability 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 FuelPHP mysqlclient Shadowsocks toggle convert Error Control Operator margin PHPUnit Framework ss5.passwd at-symbol daemon process IIS password SOCKET vps Fatal Errors MongoDB4 sudoers center DATE_SUB Phalcon SQL Server 2017 WiFi .htaccess frequency conflict set_error_handler TestCase Compiling PHP 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 Frameworks MySQL-python scrollbar Tcp BBR Compiling Apache Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 Apache2.4 CURLOPT_POSTFIELDS NodeJs show VIM Failed to build these modules: _ctypes Minimal ISO substr Bluetooth date sub INTERVAL PECL SQL Date Funcitons Wi-Fi font-size root Tag Cloud CodeIgniter dual network interfaces Laravel ss5 apache httpd CURLFille horiz-align node.js ShadowsocksR vertical-align exec mb_substr PyCharm SUBDATE BarManager

Bài viết mới nhất