我正在一個項目中使用兩個獨立的服務器,一個用於開發,另一個用於可見的版本。這是流程的工作原理以及我遇到麻煩的地方:每天早上,我運行一些收集數據的VBA宏,編譯這些數據(主要是.xlsx文件)並通過FTP將其發送到我的開發服務器。可見服務器應該使用該數據來顯示一些信息等,但FTP在該服務器上被阻止。因此,我必須每天早上從我的開發服務器複製到可見服務器,以便更新可見服務器上的數據,並且我想自動完成這一操作。如何使用curl發送文件而不使用表單?
我試圖通過HTTP請求(準確地說是WinHTTPRequest)將數據從VBA宏直接發送到可見服務器,但沒有奏效。
我在網上搜索,發現捲曲可以通過PHP發送HTTP請求,我想使用該解決方案,如果可能的話,這裏是我當前的代碼:
send.php:
<?php
$request = curl_init('mysite/receive.php');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt($request,
CURLOPT_POSTFIELDS,
array(
'file' => '@MyFileRealPath.xlsx;filename=file'
));
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($request);
curl_close($request);
?>
receive.php:
<?php
var_dump($_FILES);
?>
當我運行send.php,我得到:
所以receive.php文件沒有得到任何文件,有人知道如何解決這個問題嗎?
如果我想要做的事是不可能的,有人知道任何其他方式,我可以嘗試將文件從開發服務器發送到可見的?
謝謝並對不完美的英語感到抱歉,我不是母語的人。
祝您有美好的一天!
你可以選擇使用'rsync'或'SCP '如果可能,將文件從一臺機器複製到另一臺機器 –
查看[this](http://blog.derakkilgo.com/2009/06/07/send-a-file-via-post-with-curl-and -php /)博客文章。 – cfreear
您使用的是什麼版本的PHP? – Machavity