2011-07-20 11 views
0

docファイルをアップロードし、その内容をAPI変数としてバイナリまたはASCIIで送信するコードを書く必要があります。 (2)ファイルをアップロードし、その内容を保存し、blobデータにアクセスしてapiに送信します。アップロードされたドキュメントをバイナリ/ asciiに変換し、API変数として送信

私はどちらが良いか尋ねたいと思います。今、私は2番目のオプションを使用しています。

今、私の問題は、部分をアップロードしてデータベース部分にBLOBデータとして格納することができます。 しかし、私はBLOBデータにmysqlクエリを使用してアクセスし、APIに結果を送信します。 APIはバイナリまたはASCIIではないと言います。そして、私はクエリの結果をエコーするとき、それはバイナリまたはASCIIではないと仮定しているので、ちょっとしたデータを示します。このBLOBデータをバイナリ/ ASCIIとしてAPIに渡す方法を教えてください。

<?php 

$filename = "resume3.doc"; 
$handle = fopen($filename, "rb"); 
$contents = fread($handle, filesize($filename)); 
fclose($handle); 

// URL of Form 
$url = "http://rezscore.com/a/2901e8/grade"; 
//create the final string to be posted 
$post_string = "resume=$contents"; 

//create cURL connection 
$curl_connection = curl_init($url); 

//set options 
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($curl_connection, CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); 
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1); 

//set data to be posted 
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string); 

//perform our request 
$result = curl_exec($curl_connection); 

print $result; 

//close the connection 
curl_close($curl_connection);  
?> 

ファイルは履歴書にする必要があり、履歴書にはAPIが返されます。 http://rezscore.com/

おかげ

答えて

0

あなたは、MySQLなしで直接的な方法を使用することができます。ファイルを一時ディレクトリにアップロードして、バイナリセーフでその内容を読むにはhttp://php.net/freadを使用してください。

+0

ありがとうございました。 freadは問題を解決しなかったので、私はデータベースオプション – Vicky

+0

に切り替えました** fread()**はバイナリセーフであり、そのままファイルコンテンツを返します。次の処理が間違っている可能性があります。 – silex

+0

質問のコードを見てください。私はエラーは発生していませんが、グレードはいつもF(これは再開ではありません)とは関係なく、別のレジュームに関係ありません。 – Vicky

関連する問題