2012-03-22 7 views
1

私はCURLがFile Get Contentsよりも速すぎてメモリを消費しないと読んでいます。だから、私はCURLと一緒に行くつもりです。私はそれについての情報を見つけるためのいくつかの記事と、それを適切かつ効率的に使用する方法を読んでいます。
問題は、私がCURLを使用する多くの方法を見つけたことです。私は以下の3つのバリエーションを投稿しました。私は、PHPでCURLを使用するためのさまざまな方法を見てきました。 「正しい」ものはどれですか?

私の質問は、どちらを使うのが最適ですか?

$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2); 
    $content = curl_exec($ch); 


    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $path); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $cache = curl_exec($ch); 
    curl_close($ch); 


$ch = curl_init(""); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 
curl_close ($ch); 
+0

?それはあなたのために働くものは何になるのですか。 – Crontab

+1

これは、「どこかに行かなければならない。私は歩く、運転する、自転車に走るか?まあ、あなたがやっていること、どれくらいの距離、そしてどれくらいのものを持ち歩かなければならないかによって決まります。 –

+0

@Crontab標準的なコード手順ではありません。コードラインを少なくして作業ソリューションに付ける必要がありますか?エラーの可能性はありますか? – EnexoOnoma

答えて

2

すべてのオプションによって異なります。 cURLのオプションのほとんどにはデフォルト値があります。これは、手動でオプションを設定しないと設定されます。

たとえば、CURLOPT_RETURNTRANSFERのデフォルトはFALSEです(コード内でFALSEに設定すると冗長になります)。

curl_intにパラメータを渡すことは、CURLOPT_URLのショートカットです。他のオプションはすべてあなたがしたいことに依存します。ここで

は、すべてのcURLオプションのリストです:http://php.net/manual/en/function.curl-setopt.php

は、必要なオプションを選択し、そうでないものを除外します。 「正しい」方法はなく、あなたが望むように機能します。尋ねるよう

+0

なぜ落選ですか?この回答で何が間違っていますか? –

+1

誰かオーストラリア人があなたをアップアップしました。 :P。私はあなたの答えに問題は見当たらないので、私はそれを元に戻すために現実的にあなたをアップしました。 – Deltik

+1

@Delik:それで、私は今、 "Australian-upvote"という言葉を使っています。実際にオーストラリアにいた場合、これはあまり意味がないかもしれませんが、しかたがない。 –

1

そのは、

私は多くの方法の人々のコードのPHPを参照してください持っていますが、どちらが正しいのですか?

誰もがあらゆる方法について自分の意見を持っているので、このような質問に対する正解はありません。

PHP.netのマニュアルCURLを読んで、コーディングスタイル、要件、構成に基づいて正しい方法を選択することをお勧めします。

2私は昔ながらのftpだと思う私は何もわからない// URL

3://またはhttp

0

1(://またはFTPS // https)をSSLでです。 SSLを使用しない一般的なURLのように見えます。

この例の注釈をチェックし、ドキュメントを読んで、機能が正確に何か、コードが何をしているのか確認しましたか? curl_initにURL文字列を送ることができます。

.chmの文書をノートで入手してください。それは多くの助けとあなたの研究をスピードアップします。あなたがこれを行い、いくつかのコードに配置する必要がありますする必要があるよう

に見えます:

あなたのための最速働き、あなたが期待する結果を返しソリューション
<?php 
function getfile($url) { 
$result=""; 
$protocol=substr($url,0,strstr($url,":")) 
if ("https"==$protocol || "ftps"==$protocol) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2); 
    $content = curl_exec($ch); 
} else { 
    //it's http or ftp 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $result = curl_exec($ch); 
    curl_close ($ch); 
} 
return $result; 
} 
?> 
関連する問題