0

ヘルプ、

ディレクトリ/フォルダ名にスペースが含まれていると、ファイルのhtmlコンテンツを取得する際に問題が発生します。

CURLを使用してHTMLコンテンツを取得しています。これは、HTMLコードを取得するためにアクセスしているリンクのサンプルです。

http://dev24oct20part2.globalbizcloud.com/admin/content/module_templates/templates/products/all_prods/Product temP/index.html

ご覧のとおり、ディレクトリに私のindex.htmlを含むスペースがあり、これによりエラーが発生し、コンテンツを取得できなくなります。

/Product temP/index.html

これが私のコードです:

    $template = $this->mod_template_link.$this->module_category.'/'.$this->module_unique_key.'/'.$this->module_template.'/index.html';
    //value of this variable is the link above..

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $template);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $contents = curl_exec ($ch);
    curl_close ($ch);

    return $this->translate_template($contents);

フォルダ名にスペースがない場合は正常に動作します。

アドバイスや提案をいただければ幸いです。

前もって感謝します。

4

2 に答える 2

2

あなたのケースでは、スペースなどの特殊文字をURLエンコードし、次のようにスペースを置き換える必要があります%20

http://dev24oct20part2.globalbizcloud.com/admin/content/module_templates/templates/products/all_prods/Product%20temP/index.html

適切な解決策は、URL を PHP urlencode()を介して渡し、エスケープして cURL で使用することです。したがって、次の行を置き換えます。

curl_setopt($ch, CURLOPT_URL, $template);

これについて:

curl_setopt($ch, CURLOPT_URL, urlencode($template) );
于 2012-10-23T16:21:57.467 に答える
1

でスペースを埋めてみてください%20

http://dev24oct20part2.globalbizcloud.com/admin/content/module_templates/templates/products/all_prods/Product%20temP/index.html
于 2012-10-23T16:22:17.413 に答える