小编pan*_*nic的帖子

如何将PHP脚本伪装成浏览器?

我们一直在使用来自网站的信息一段时间(如果您提及源代码我们这样做,该网站允许的内容)我们一直在手动复制信息.你可以想象这可能会很快变得乏味,所以我一直试图通过PHP脚本获取信息来自动化这个过程.

我正在尝试获取的URL是:

http://mediaforest.ro/weeklycharts/viewchart.aspx?r=WeeklyChartRadioLocal&y=2010&w=46 08-11-10 14-11-10
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中输入它,它会起作用,如果我尝试使用file_get_contents(),我会收到错误的请求

我想他们检查了客户端是否是浏览器,所以我推出了基于CURL的解决方案:

$ch = curl_init();

$header=array(
  'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12',
  'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  'Accept-Language: en-us,en;q=0.5',
  'Accept-Encoding: gzip,deflate',
  'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
  'Keep-Alive: 115',
  'Connection: keep-alive',
);

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_COOKIEFILE,'cookies.txt');
curl_setopt($ch,CURLOPT_COOKIEJAR,'cookies.txt');
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
$result=curl_exec($ch);

curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

我已经检查过,标题与我的浏览器标题完全相同,我仍然收到错误请求

所以我试了另一个解决方案

http://www.php.net/manual/en/function.curl-setopt.php#78046
Run Code Online (Sandbox Code Playgroud)

不幸的是,这也不起作用,我没有想法.我错过了什么?

php user-agent curl

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

<article>或<section>标签之间的混淆.哪个用?

尽管在页面上阅读有关<article><section>标签的页面我真的不明白如何将它们应用到我的网站.

我在页面末尾有一个包含相关产品的产品页面.首先我想做这样的事情:

<section>
   <header><h1>Product title</h1><header>
   <img src="image.jpg"/>
   <p>Description</p>
   <p>Price</p>
   <p><a href="...">Order</a></p>
</section>

<section>
  <header><h1>Related products</h1></header>
  <article>
    <a href="..."><img src="image1.jpg"><br/>Product 1</a><br/>Price
  </article>
  <article>
    <a href="..."><img src="image2.jpg"><br/>Product 2</a><br/>Price
  </article>
  <article>
    <a href="..."><img src="image3.jpg"><br/>Product 3</a><br/>Price
  </article>
</section>
Run Code Online (Sandbox Code Playgroud)

但是,然后我读了一些其他的博客,它发生在我身上,也许我应该用<section>标签替换<article>标签.

哪个是对的?为什么?谢谢.

article html5

8
推荐指数
1
解决办法
1万
查看次数

如何设计在线交友网站的用户表?

我正在研究本地在线约会网站的下一个版本,基于PHP和MySQL,我想做正确的事情.用户表非常庞大,预计随着新版本的增长会更多,因为在促销上会花费很多钱.

我猜7-8岁的当前版本可能是由不太熟悉PHP和MySQL的人完成的,所以我必须从头开始.

该社区目前拥有20万以上的用户,预计在未来一两年内将增长到500k-1mil.每个用户的个人资料有100多个属性,我必须能够搜索至少30-40个属性.

你可以想象我有点谨慎制作一个有200k行和100列的表格.我的前任将用户表分成两个...一个使用最多和搜索的列,另一个使用列的其余(和批量).但这会导致两个表之间出现大的同步问题.

那么,您认为这是最好的方式吗?

php mysql database-design

3
推荐指数
1
解决办法
3752
查看次数

MySQL中的复杂SELECT查询

我有以下表格:

articles: id, title, content
tags: id, tag, tagCategory
tags2articles: id, idTag, idArticle
categories: id, title, someOtherFields
Run Code Online (Sandbox Code Playgroud)

在页面中,我需要选择所有具有多个标签的文章.我正在使用这个:

SELECT
   SQL_CALC_FOUND_ROWS a.* 
FROM 
  articles AS a
  JOIN tags2articles AS ta  ON a.id=ta.idArticle
  JOIN tags AS t ON ta.idTag=t.id
WHERE 
  t.id IN (12,13,16) 
GROUP BY a.id
HAVING
  COUNT(DISTINCT t.id)=3
Run Code Online (Sandbox Code Playgroud)

这将选择所有具有ID为12,13和16的标签的文章,并且它可以正常工作.但是,所选文章可能还有其他标签,这些标签可能只针对其中一个或多个.

这里有一个棘手的部分:我想使用这些标签来制作一些过滤器,所以我需要另一个查询来选择上面文章所有的不同标签.像这样的东西:

?????????????????????????????????????????????
? TagID ? Tag  ? Category  ? SomeOtherField ?
?????????????????????????????????????????????
? id1   ? tag1 ? category1 ? field1         ?
? id2   ? tag2 ? category2 ? field2         ?
? id3 …
Run Code Online (Sandbox Code Playgroud)

mysql sql tags select join

2
推荐指数
1
解决办法
3206
查看次数

在IE9-11中使用jQuery更新SVG文本

我正在尝试使用jQuery更新SVG路径上的文本.它在Firefox和Chrome中运行良好,但在IE9和IE11中(尚未在10上测试,但可能相同)文本未更新.任何想法/解决方法?到目前为止这是我的代码:

<!DOCTYPE html>
<html>
  <head>
    <style>
      svg { background:url(_skins/cf/pics/ribbon.png); }
    </style>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  </head>
  <body>
    <div style="padding:20px; border:1px solid red; width:500px; height:400px;">
      <svg id="paglicaText" width="193" height="294" viewBox="0 0 193 294" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
        <defs>
          <path id="ribbonLeft" d="M 23 261 C 32 182, 44 98, 83 42"/>
        </defs>
        <!--<use xlink:href="#ribbonLeft" fill="none" stroke="red"/>-->
        <text font-family="Trebuchet MS" font-size="14" text-anchor="middle"><textPath xlink:href="#ribbonLeft" startOffset="50%" id="ribbonLeftText">Text text text</textPath></text>
      </svg>
      <script>
        $('#ribbonLeftText').html('bla bla bla');
      </script>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

jquery internet-explorer svg

2
推荐指数
1
解决办法
1633
查看次数

Double导致GROUP_CONCAT在MySQL中具有双JOIN

我有以下表格:

制品

  • 字段:id,title
  • 值:(1,'产品1')

表格1

  • 字段:id,idProduct
  • 值:(1,1),(2,1)

表2

  • 字段:id,idProduct
  • 值:(3,1),(4,1)

以下查询:

SELECT
  p.*,
  GROUP_CONCAT(t1.id ORDER BY t2.id),
  GROUP_CONCAT(t2.id ORDER BY t2.id)
FROM
  products p
JOIN table1 t1 ON p.id=t1.idProduct
JOIN table2 t2 ON p.id=t2.idProduct
GROUP BY
  p.id
Run Code Online (Sandbox Code Playgroud)

预期结果是:

1 | Product 1 | 1,2     | 3,4 
Run Code Online (Sandbox Code Playgroud)

不幸的是我得到:

1 | Product 1 | 1,1,2,2 | 3,3,4,4
Run Code Online (Sandbox Code Playgroud)

mysql join group-concat

2
推荐指数
1
解决办法
667
查看次数