2011-12-21 99 views
0

我尝试使用curl发布到本地文件,它失败。可以做到吗?我的两个管理系统位于同一台服务器上,似乎没有必要让它遍历整个互联网系统,只是为了访问同一个硬盘上的文件。你可以使用curl发布到本地文件吗?

+0

你尝试了什么,你得到了什么错误?你使用127.0.0.1还是localhost来解决你的本地系统问题? – nwaltham 2011-12-21 14:40:06

+0

我做了$ _SERVER [DOCUMENT_ROOT]。'/ dir/to/file.php' – 2011-12-21 14:41:25

+0

您是否想将* *写入本地文件,或者是否要发送“* POST *”请求给处理器脚本在本地服务器上? – mario 2011-12-21 14:44:09

回答

1

如果它们是相同的驱动器上,然后使用文件操作来代替:

file_put_contents('/path/to/the/file', $contents); 

使用curl,如果你确实需要HTTP层涉足出于某种原因只能做,或者如果你”重新处理远程服务器。使用HTTP也意味着你需要让'target'脚本能够处理文件上传以及任何你需要发送的其他数据,然后这个脚本最终不得不做文件操作,所以实际上你已经去世界各地的航班,这样你就可以从客厅搬到厨房。

+0

你知道什么,它是一个计费系统,我有,我只是意识到,它发送数据回(API)..你认为它发回它用curl还是仅仅是curl带回的脚本输出? – 2011-12-21 14:44:58

+0

你不能真正地“发回”卷曲。这将是一个完全不同的连接,你必须有一些系统来监听传入的新连接。 curl会发送数据,然后返回任何远程脚本输出。 – 2011-12-21 14:46:52

+0

好吧,那就是我的想法。所以我怎么能POST数据到脚本并以另一种方式返回内容?本地主机没有做到这一点。 – 2011-12-21 14:48:06

2

它是发布数据。这是API加密,所以我不知道它是如何工作的

没有进一步的细节,没有人可以回答你应该做什么。

但是,如果它确实在本地服务器上的POST receival脚本,那么你可以使用URL发送POST请求到它:

$url = "https://$_SERVER[SERVER_NAME]/path/to/api.php"; 

然后从卷曲呼叫接收它的输出。

$data = curl($url)->post(1)->postdata(array("billing"=>1234345)) 
        ->returntransfer(1)->exec(); 
// (you would use the cumbersome curl_setopt() calls instead) 

所以你得到一个XML或JSON或任何响应。

+0

生病请尝试一秒钟。 – 2011-12-21 14:49:37

+0

没问题,但我怎么知道这不仅仅是和我在网络com中输入的一样? – 2011-12-21 14:51:23

+0

我对你脚本的内部工作一无所知。 – mario 2011-12-21 14:52:18

0

file://locafilespec.ext为我工作。我有一个Linux文件夹中的文件夹中有2个文件,这个文件夹不是由我的网络服务器提供的,我使用file:// wrapper发布到file://test.php,它工作的很好。这不是很好,但它会为开发工作,直到我将它移动到它的最终安息之地。

相关问题