我想用file_get_contents一个代理来实现跨域 AJAX 请求。
查询字符串将用于向 提供 URL file_get_contents。现在的问题是人们可以使用查询字符串来读取服务器上的本地文件。我不要这个。有人可以给我一个函数来清理查询字符串,以便只接受 URL 而不是本地文件,即:
?url=http://google.com.au - 好的
?url=./passwords.txt - 不好
我正在尝试使用一个函数来实现这个功能:
<img src='login.php?image=ind_legend.jpg'>
Run Code Online (Sandbox Code Playgroud)
但我不能通过功能来放置图像.我回过头几步,只尝试了这部分代码:
<?php
$file = "http://localhost/sales/test.jpg";
header('Content-type: image/jpeg');
readfile($file);
?>
Run Code Online (Sandbox Code Playgroud)
或使用此功能:
echo file_get_contents($source);
Run Code Online (Sandbox Code Playgroud)
但事实是,我唯一得到的是一个破碎的图像交叉(IE)或在Firefox中没有.
我将不胜感激任何建议
提前致谢
$url = "http://example.com/............."
Run Code Online (Sandbox Code Playgroud)
$url 大约有 4095 个以上的字符。我需要在 php 中访问这个 URL,但是如果我使用file或file_get_contents,它会返回一个错误
如何在 php 中打开或访问此 URL?
我打赌它最终会变得简单......但是我可以用它来发现它.
问题:
当我尝试获取特定本地URL的内容时file_get_contents(),它会以空字符串''(长度= 0)返回.
我尝试过的:
$url = 'http://localhost/bbq/index.php/company/get/id/2131/return/json';
$results = file_get_contents($url);
echo'<pre>Results:<br />',var_export($results),'</pre>';
Run Code Online (Sandbox Code Playgroud)
直接访问时http://localhost/bbq/index.php/company/get/id/2131/return/json,一切都很美妙:{"id":"2131","value":"Acme Anvil Corp."}
为了检查自己,我尝试了$url = 'http://www.google.com',它按预期工作,然后我尝试了一个单独的本地uri,http://localhost/?phpinfo=1它也工作得很好.
问题:
我错过了什么?
[附加信息]
allow_url_fopen开启
我可能刚刚发现了一些东西.
作为CODEIGNITER项目中的安全措施,控制器脚本的第一行具有:
if ( !defined('BASEPATH')) exit('No direct script access allowed');
Run Code Online (Sandbox Code Playgroud)
评论它没有提供任何改进,但我认为值得一提.
此外,这是HTTP响应标头的转储.也许有人可以看到那里的东西.这对我来说似乎很直接,但我真的不知道我应该寻找什么.
array (size=13)
0 => string 'HTTP/1.1 200 OK' (length=15)
1 => string 'Date: Thu, 27 Dec 2012 19:58:47 GMT' (length=35)
2 => string 'Server: Apache/2.4.2 (Win64) PHP/5.4.3' …Run Code Online (Sandbox Code Playgroud) 我使用以下代码从json页面提取信息.
$str = file_get_contents('http://fantasy.mlssoccer.com/web/api/elements/498/');
$jsonarray = json_decode($str, true);
$week1 = $jsonarray['fixture_history']['summary'][0][2];
$week2 = $jsonarray['fixture_history']['summary'][1][2];
Run Code Online (Sandbox Code Playgroud)
这是摘录它的内容
{ "summary" :
[
[ 1, "PHI (A)", 14 ]
[ 2, "TOR (A)", 8 ]
]
}
Run Code Online (Sandbox Code Playgroud)
目前仅存在2周.每周将添加1个新条目.我如何编写代码来说"循环存在多少周/条目"?
我想要做的就是将这些信息放入HTML表格中,我希望代码能够知道有多少周.每周将有1行数据.
如果不清楚,请告诉我..谢谢!
我已经完成了大部分解决方案,但它们都没有用.
我尝试使用file_get_contents解析维基百科页面,但返回根据我尚未弄清楚的页面中的内容而有所不同.
例如,当我在这个页面上使用它时,http://en.wikipedia.org/wiki/Word它运行正常,但当我在这个页面上使用它时http://en.wikipedia.org/wiki/David_A._Kolb它返回strage字符..
我想这两页都是一样的.
可能是什么问题呢 ?
更新1
这就是我得到的:
î²$'ˆ‰ÃBÿ—¾XP·o€Ô%4aºäÇ$ÊãÔ¼s¾w>ÈÙfb%¾ “p£+Ïü J£x&6ç>vŸŠ$BfbðzÊ~ì𥳈è`lƒW{·²±Ÿd³žç"U™ðrÉ¥ý4Ê'ú™,N—î, ¢©ª3/U+þÔGQãDý|A*¬iœø=céOy(èO€O‡ù4O3ø Ãvi_éÉ_/£K]x¢‘~~(Cp†(Q€!A£Ë±í‘åÀr\9¨N%G‘¼¸äav-ÍÁÖe€.ˆK¨È*Å/`ºøÏÄRž„¸ÔÞɉœÁ'PQ‚€Ç©Å!¿Ô$g•f|œêbT-< ŸLÑUÌ` ¡Òâ4–L¢0Èv'ÖSA€a?(Ù œ‚n÷ç€Pj°Ï4ê18·&À3þcXfÕ3pb éÌ:õ ”š˜egfTCã¦$Nñ˜Êó1õ^”æãÀO‹¹f‘«~Ø€Ø.°ñéyt!kñí½ÉXôzÀåºÛ»Û[wl¹Ûã‡{Ûn¿+·S1½§ ráõËàEs?EÆIó哬Äè 3e,™K´Ô€`‘(Ï‘Zû©–q%$à ¯ÖDÄ @k5Ó¬þì§9ô ~rüÑó-Ï@{ÅFÒF ƒ—Ï}Æ~`Kæâú1ÚŠJ2ér”OJäü˜Ã.zç ÜŸ‰ ¦§äMÀø<ÕL•$íL©Ö)¿v´€8„ÊÄqÁ·¡ƒC&_`~È–Ð’E!™zÔCŒŠÈ¶Pï³ë9 ɵaµ «' U¢„šY… E¸ç%V!N9ãÁ:º$iËòН™ªÀ€-…ž©0eȪpê¥-¡hè³$="0 ²|>G-§Ð/Ê9'/ÂhJ>Í‚àY‚¸çQ‰?G¸üŸ± B‚¡I5 ¨Îä|]/,„bA³©÷FdÑêßQÔAÊ‘*Á¦¨˜i†d•¡c^.ÒRÐLÔ꘢,ŠÛ„}"…igÓI\/áÝ]üøsTwàDH…"i°€PWI´€¦ýMå¨Sí%G„)y"º/´(,þ˜âKÙß“%ð”v‘4HUNÚ“ù´:| m>Ò\a_Ò,g ] !a4˃2ÇHÀ¾vÀiŒB×¥"؇ĕê‚!½qÄý{ªÈÞ5UJ°¯•‚rý¶Ö¬"Ü[Ô^ÒrK,GYCiàçõÂóJňšµÂ2&QÕt(5T 7 wv"å,¬06dI¹Os¶Ë3i‡•[#Á îÕڪÕUujçåfµäÚ"èÑÒ—Œ‡žiZ5@dã1Ø6.”‹ZîÔ£b’•-Ð]²–tûq¯ÕI©ÊÖR+ÍÇ†í§…·0[M”USoIì´±m<’˜KªÕŠp<çÁìr”LÓ†b•7‘Vºñ–ºÄ¥Ï‰E“eT,m¹º/Óna\É‚^A‡ª¤_+Ùª•l×Jvj%j%»µ’½ZÉÃZI¯[/ªCÝ«ƒÝ«ÃݫޫCÞë6Ùm³[‡¿×…¬U—k»¾ÛÛõåØm˜ënÃd÷úõ÷úÅÒI-»¥]ۄϪ¬æ·+ŸEÙºOŠ’Â—n—t»t¾<KT3(½çÑçÍOøßÆ£ÕúM†Fo³z#«”vƒì@È|ÿZr3U¦}MÈÓì¢_àþˆî`!¶wLvxÿAOìî=Üív» ÃÆãÝÉdÒwû¾c©x׸]ÕàŸõwN\@6ÑV~^˜Y-ꀿѯÜTÇ?ò+‡´fhKWÊ‘r¥È*ãs4FŒ²D(Cz{[FbÛ0íL½ƒá„ÒøhyB¯ !Í·¤ØÞ >‘QtP^j+fáßDJdÞÓQ…”{Â`Âþ½Vë?aAÆNž°ÝC\Pá.4G;nš:Ãqä-?Å (äI°Ž1-´}·e¢¼ŠÓtäâ‹3ôj´ Ú ²:Ÿµ»ÿÞ;ÐýɇV¦ ÂÕ8†h›ýȆÏOZø&×Åÿœ@3޶-å§#7C Z&£„-”L‰>‚*™‰ç| F‰3\ûæ›}Ï¿d¾£.¤¨Á4±õ0Š1N…k íªíöÛÃ"ëƒÛ]¨bó6t‰ëà0@Ø´ÇÆoö9µGÅzæ²ÌäcÚc4¥ð5-òZ `‚-)ŠóÈ‚ÿL¸®!ᥫè«$Ê:„$ìÈFcl®és훂$É[³Î¾»ï¿Ûd¯bŸFSJ/ ù<?5s}ãûÌ€L,*1S!Ø:õ‰è*ÒÍŸIµÝLrÖ£9ÚufÊ…&禃•N™<Ï"§œW A5ârÏ«qp¬Á->*!D±òV£§¢^Ëø5m3ÇÒnåcgø4‰æ·Èð0ˆ á¬ö[ èþèû¨¨ð–õW{ÍþGMÐNÉ¢z·XÞÊ¢*¥I`±^ŒŸà7Ë¢ìLyõœo-:CxÕŸ’}d²É*íâ–R‡ò¯¦¥oj³¨Àh*pƒÊÔ\¦DU×Bîé\—µcµÅâá>™ºÖWî™K•’5@_“Ým£Åª¿¬°øê[ø^6ôûbþÓ\.Ý-ÃCó¶Æb‰Âªf%º1¾Ÿy €àNß@o:¡ 1Pê4 ‹y 7™èl}êb ™4%³[ô<Ѱ‡7üù”ñ€bðJøå1ExËâÏ8í:*™£#:¢Û©vNKpàô@Ác3.xØí“̃ßïd(r:YRŸíŒ¥n„âLð¦Ib’ÁG .... (it goes on).
Run Code Online (Sandbox Code Playgroud) 我尝试使用PHP的file_get_contents,但它不起作用.
有我的代码:
$filename = "/opt/gemel/test.txt";
if($filecontent = file_get_contents($filename)){
$nom = fgets(STDIN);
file_put_contents($filename, $nom, FILE_APPEND);
}
else
echo "fail";
Run Code Online (Sandbox Code Playgroud)
我的文件test.txt是空的.(0个八位字节).他存在,但他是空的.
当我写入内容时,我的代码完美无缺,但如果他是空的,我的代码回显"失败"
为什么呢,为什么他不能打开文件text.txt?
我正在使用file_get_contents抓取一些JSON数据,我需要压缩它,以便我可以将它作为数据属性添加到我页面中的HTML元素上.基本上我只需要删除换行符,额外的空格或制表符.似乎每个人都建议使用ob_gzhandler.但我无法做到这一点 - 我无法控制在我们的生产环境中启用的模块.任何人都可以建议一个PHP片段,如果没有ob_gzhandler,我会做我想做的事情吗?
我正在尝试向我的网站发出许多请求,使用PHP中的代理和标头,并从文本文件中逐行获取代理以在file_get_contents中使用,但是我在文本文件中有3个代理(每行一个)和脚本只使用一个,然后结束.(我从命令行执行它)
<?php
$proxies = explode("\r\n", file_get_contents("proxies.txt"));
foreach($proxies as $cpr0xy) {
$aContext = array(
'http' => array(
'proxy' => "tcp://$cpr0xy",
'request_fulluri' => true,
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36\r\n"
), );
$rqcon = stream_context_create($aContext);
$destc = file_get_contents("http://domain.com/file.php", False, $rqcon);
echo $destc;
} ?>
Run Code Online (Sandbox Code Playgroud)
现在它只使用第一个代理并正确返回值,然后脚本停止.我的目标是让它无休止地发出请求,直到它在proxies.txt中的代理用完为止
我是php新手,我已经制作了一个scraper.php页面,您可以从" http://www.weather-forecast.com "中查找任何特定城市的天气信息.
我正在跟随教师,我无法理解为什么我的代码返回一个空白页面,它应该只返回一个简短的3天预测
无论如何......这是我的代码
<?php
$city=$_GET['city'];
$city=str_replace(" ","",$city);
$contents=file_get_contents("http://www.weather-forecast.com/locations/".$city."/forecasts/latest");
preg_match('/3 Day Weather Forest Summary:<\/b>
<span class="phrase">(.*?)</span>',$contents, $matches);
echo $matches[1];
?>
Run Code Online (Sandbox Code Playgroud) php ×10
json ×2
codeigniter ×1
compression ×1
fgets ×1
file ×1
gzip ×1
html ×1
httpresponse ×1
image ×1
proxy ×1
readfile ×1
str-replace ×1
url ×1