标签: file-get-contents

为 file_get_contents 清理用户提供的 URL

我想用file_get_contents一个代理来实现跨域 AJAX 请求。

查询字符串将用于向 提供 URL file_get_contents。现在的问题是人们可以使用查询字符串来读取服务器上的本地文件。我不要这个。有人可以给我一个函数来清理查询字符串,以便只接受 URL 而不是本地文件,即:

  • ?url=http://google.com.au - 好的

  • ?url=./passwords.txt - 不好

php proxy file-get-contents

5
推荐指数
1
解决办法
1173
查看次数

使用readfile和file_get_contents损坏的映像

我正在尝试使用一个函数来实现这个功能:

<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中没有.

我将不胜感激任何建议

提前致谢

php image file-get-contents readfile

5
推荐指数
2
解决办法
6962
查看次数

php 中超过 4095 个字符的长 URL

$url = "http://example.com/............."
Run Code Online (Sandbox Code Playgroud)

$url 大约有 4095 个以上的字符。我需要在 php 中访问这个 URL,但是如果我使用filefile_get_contents,它会返回一个错误

如何在 php 中打开或访问此 URL?

php url file-get-contents

5
推荐指数
1
解决办法
3419
查看次数

PHP:"file_get_contents()"从经过内容验证的URL返回NULL

我打赌它最终会变得简单......但是我可以用它来发现它.

问题:
当我尝试获取特定本地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)

php codeigniter httpresponse file-get-contents

5
推荐指数
2
解决办法
2万
查看次数

拾取json数组中的条目数

我使用以下代码从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行数据.

如果不清楚,请告诉我..谢谢!

html php json file-get-contents

5
推荐指数
1
解决办法
101
查看次数

file_get_contents返回一些维基百科页面的奇怪字符,为什么?

我已经完成了大部分解决方案,但它们都没有用.

我尝试使用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ŸŠ$B­fbð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

5
推荐指数
1
解决办法
2271
查看次数

file_get_contents,空文件不能正常运行PHP

我尝试使用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

php file fgets file-get-contents

5
推荐指数
1
解决办法
8809
查看次数

有没有一种方法可以在不使用ob_gzhandler的情况下从JSON中删除空格?

我正在使用file_get_contents抓取一些JSON数据,我需要压缩它,以便我可以将它作为数据属性添加到我页面中的HTML元素上.基本上我只需要删除换行符,额外的空格或制表符.似乎每个人都建议使用ob_gzhandler.但我无法做到这一点 - 我无法控制在我们的生产环境中启用的模块.任何人都可以建议一个PHP片段,如果没有ob_gzhandler,我会做我想做的事情吗?

php compression json gzip file-get-contents

5
推荐指数
1
解决办法
6256
查看次数

Foreach循环只循环一次

我正在尝试向我的网站发出许多请求,使用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 file-get-contents

5
推荐指数
1
解决办法
173
查看次数

刮板php返回一个空白页面

我是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 file-get-contents str-replace

5
推荐指数
1
解决办法
112
查看次数