如何使用Curl将文件从另一台服务器上传到另一台服务器?

时间:2016-09-15 07:24:28

标签: php shell curl post upload

如何使用Shell脚本和PHP中的Curl将文件从另一台服务器上传到另一台服务器?

我有一个txt文件存储在Shell脚本存储的服务器中,现在,我希望将该txt文件上传到另一台服务器的特定文件夹。 2服务器已经连接。 txt文件的数据有一千行。

在同一台服务器上导入文件即可。

PHP:

if (($handle = fopen($directory_root."filename.csv", "r")) !== FALSE){
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE){
        $sql = "INSERT INTO tablename(col1,col2,col3,col4,col5)
                VALUES ('".mysql_escape_string($data[0])."',
                        '".mysql_escape_string($data[1])."',
                        '".mysql_escape_string($data[2])."',
                        '".mysql_escape_string($data[3])."',
                        '".mysql_escape_string($data[4])."')";
        $query = mysql_query($sql);
    }
    fclose($handle);
}

$ch = curl_init('http://example.com/');
curl_setopt_array($ch, array(
    CURLOPT_POSTFIELDS => array(
        'files[]' => '@/var/www/html/files/',
    ),
));
if (false === ($res = curl_exec($ch))){
    die("Upload failed: " . curl_error($ch));
}

1 个答案:

答案 0 :(得分:1)

添加curl_setopt($ch, CURLOPT_POST,1);

'@/var/www/html/files/',是一个目录......必须是文件