帮助,
如果目录/文件夹名称中包含空格,我在获取文件的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);
如果文件夹名称中没有空格,则可以正常工作。
非常感谢任何建议或建议。
提前致谢。
答案 0 :(得分:2)
你必须为你的情况对特殊字符(如空格)进行url编码,替换%20
的空格,如下所示:
http://dev24oct20part2.globalbizcloud.com/admin/content/module_templates/templates/products/all_prods/Product%20temP/index.html
正确的解决方案是通过PHP urlencode()传递URL以使其转义以在cURL中使用。因此,请替换以下行:
curl_setopt($ch, CURLOPT_URL, $template);
这个:
curl_setopt($ch, CURLOPT_URL, urlencode($template) );
答案 1 :(得分:1)
尝试使用%20
http://dev24oct20part2.globalbizcloud.com/admin/content/module_templates/templates/products/all_prods/Product%20temP/index.html