- 文件增加(上传)
function remote_file_add($url, $file_path) {
$ch = curl_init();
$fp = fopen($file_path, 'r');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'file' => '@' . $file_path
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($file_path));
$result = curl_exec($ch);
curl_close($ch);
fclose($fp);
return $result;
}
使用示例:
$url = 'http://example.com/upload.php';
$file_path = "local_file_path";
$result = remote_file_add($url, $file_path);
2. 文件删除
function remote_file_delete($url, $file_id) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'id' => $file_id,
'action' => 'delete'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
使用示例:
$url = 'http://example.com/delete.php';
$file_id = 'file_id';
$result = remote_file_delete($url, $file_id);
3. 文件查询(下载)
function remote_file_query($url, $file_id, $save_path) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'id' => $file_id,
'action' => 'query'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$fp = fopen($save_path,"w");
curl_setopt($ch, CURLOPT_FILE, $fp);
$result = curl_exec($ch);
curl_close($ch);
fclose($fp);
return $result;
}
使用示例:
$url = 'http://example.com/query.php';
$file_id = 'file_id';
$save_path = 'local_file_path';
$result = remote_file_query($url, $file_id, $save_path);
4. 文件修改
function remote_file_update($url, $file_id, $file_path) {
$ch = curl_init();
$fp = fopen($file_path, 'r');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'id' => $file_id,
'action' => 'update',
'file' => '@' . $file_path
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($file_path));
$result = curl_exec($ch);
curl_close($ch);
fclose($fp);
return $result;
}
使用示例:
$url = 'http://example.com/update.php';
$file_id = 'file_id';
$file_path = 'local_file_path';
$result = remote_file_update($url, $file_id, $file_path);