2017-05-19 9 views
0

私は、ファイルメーカーのデータを使ってカールコールを実行するphpスクリプトを作成しています(このスクリプトは、php呼び出しを介してデータベースからデータを取得します)。filemaker 16 curl call

Filemaker 16は、カールコールを直接サポートしています。

urlスクリプトステップからfilmmakers insertを使用して同じ呼び出しを実行します。

私はコールを構築することができましたが、最初はエラー(サーバーにデータが転送されていませんでした)で、今は通知なしで失敗しています。

私の作業PHPスクリプト:ファイルメーカー

"--header \"Content-Type: text/calendar; charset=utf-8\" --header \"Expect: \" --header \"Content-Length: "&Length ($vevent)&"\" --user-agent \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\" --basic --user "&$password&" --request \"PUT\" --data \"@$vevent\"" 

$headers = array(
    'Content-Type: text/calendar; charset=utf-8', 
    'Expect: ', 
    'Content-Length: '.strlen($body) 
    ); 
    $agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)'; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
    curl_setopt($ch, CURLOPT_USERPWD, $userpwd); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body); 
    $res=curl_exec($ch); 
    curl_close($ch); 
    print_r($res); 

マイカール・オプションは、誰もが映画監督16のカールオプションを処方する際に経験を持っていますか?映画監督16で

私のスクリプト呼び出しが動作しない、私はエラーを取得しないが、データが正常にサーバーにアップロードされていません(それは正しく策定、iCalのデータであり、同じデータをPHPで動作します)

+0

質問をするのを忘れました。 – Ibu

+0

申し訳ありませんが、私の質問は、サーバーにデータを渡す方法です。これはオリジナルのPHPスクリプトでは動作しますが、ファイルメーカーでは動作しません。 – Panos2310

答えて

1

$ vevent変数を正しく渡さなかったようです。 試用版:

--data \"" & $vevent & "\"" 
+0

ありがとうございます。このエラーが発生しました:<?xml version = '1.0' encoding = 'UTF-8'?>。有効な、すでに存在するカレンダーエントリを "取得"して "PUT"しようとしても、私はまだこのエラーが発生します(あなたの提案にはいくつかの進歩がありました!) – Panos2310

+0

質問に答えると、 1。 PUTの代わりにPOSTを試してみてください –