小编Sup*_*Spy的帖子

为什么要在卷曲中关闭标题?

在很多卷曲示例中,人们使用:

curl_setopt($ch, CURLOPT_HEADER, 0);
Run Code Online (Sandbox Code Playgroud)

这样做有什么好处?

我设法显示图像,我想知道我应该打开/关闭的选项以及原因.

curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); // use?
curl_setopt($curlGetToken, CURLOPT_ENCODING, 'gzip'); // does it slow down MY server
Run Code Online (Sandbox Code Playgroud)

php curl

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

使用登录cookie的相对安全的方法是什么?

我想知道最安全的cookie登录方式是什么?如果您只是将通行证(使用salt加密)和用户名存储在cookie中并根据用户表进行验证,则潜在的攻击者可以窃取cookie并登录.人们通常不会检查'上次在线'.

那么"记住我的饼干"有更好的方法吗?IP不是一个好选择,是吗?(有些机器一直在更换IP).

php cookies autologin

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

那么检查一行是否存在的最佳方法是什么?EXISTS,COUNT还是num_rows?

如果您的唯一目标是检查php中是否存在行(true或false),那么最好的方法是什么?

选项1?

$result = mysql_query("SELECT * FROM users WHERE id = '1'");
$num_rows = mysql_num_rows($result);

if ($num_rows == 1) 
    // one user, like it should be.

else 
  // do something else
Run Code Online (Sandbox Code Playgroud)

选项2?

$query = mysql_query("select count(1) from users where id = 1")

if (mysql_result($query, 0) == 1)
    // one user, like it should be.

else 
  // do something else
Run Code Online (Sandbox Code Playgroud)

选项3?

$query = mysql_query("something like SELECT EXISTS( SELECT */1/COUNT(*)/etc. ...)")

if (mysql_result($query, 0) == 1)
    // one user, like …
Run Code Online (Sandbox Code Playgroud)

php mysql

9
推荐指数
1
解决办法
3295
查看次数

cURL不再设置cookie,但为什么?

我的cURL脚本在我的本地主机不再工作(所以请记住它之前的DID工作)(因此它可以在我的外部主机上工作,因此:它可能是服务器设置):

这个脚本在我的localhost之前工作正常(它仍然在我的主机上).没有改变.

  • 也许我在本地主机上运行这个脚本超过3000次的事实对我们来说很有用.
  • 我在Windows 7上运行,使用WampServer来设置主机.
  • 我可能更改了一个设置,这会影响cookie的写入.但是哪一个?

真正的问题:cURL没有设置cookie!什么apache模块应该用于写入cookie(在.txt文件中)?我正在运行wampserver.

请注意我已经在使用:

    curl_setopt($curlTable, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($curlTable, CURLOPT_COOKIEFILE, 'cookie.txt');
Run Code Online (Sandbox Code Playgroud)

那个php.ini是:

extension=php_curl.dll is uncommented
Run Code Online (Sandbox Code Playgroud)
  • 附带问题:curl_close是否取消了cookie?如果没有设置cookiejar选项?
  • 主要问题:为什么不像他们应该做的那样卷曲写一个cookie(并且在我的外部主机上,而不是在我的LOCALHOST上).

其他信息:

phpinfo()函数

curl
cURL support        enabled
cURL Information    7.21.7
Age                 3
Features
AsynchDNS           Yes
Debug               No
GSS-Negotiate       Yes
IDN                 No
IPv6                Yes
Largefile           Yes
NTLM                Yes
SPNEGO              No
SSL                 Yes
SSPI                Yes
krb4                No
libz                Yes
CharConv            No
Protocols           dict, file, ftp, ftps, gopher, 
                    http, https, imap, imaps, ldap, pop3,
                    pop3s, rtsp, …
Run Code Online (Sandbox Code Playgroud)

php cookies curl setcookie

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

你能在一个查询中更新ID最高的行吗?

我希望能够更新ID最高的行.问题是:我找不到任何优雅的解决方案来做到这一点.到目前为止,这是我最好的尝试:

$highestId = mysql_result(mysql_query('SELECT MAX(id) FROM stats'),0);

mysql_query("UPDATE stats SET views = views +1 WHERE id = $highestId");
Run Code Online (Sandbox Code Playgroud)

也许有一种比我想的更好的方法.

  • 我每天都在跟踪观看量
  • 我想让它自动增加最后一个(最高id)日
  • 晚上我正在运行一个创造新的一天的cronjob.

关于如何解决这个问题的任何建议都是受欢迎的,即使这是一个完全不同的方法.

stats => id | views

php mysql

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

如何在两个HTML标签之间获取所有内容?(用XPath?)

编辑:我添加了一个适用于这种情况的解决方案.


我想从页面中提取一个表,我想(可能)使用DOMDocument和XPath.但如果你有更好的主意,请告诉我.

我的第一次尝试就是这个(显然是错误的,因为它将获得第一个关闭表标签):

<?php 
    $tableStart = strpos($source, '<table class="schedule"');
    $tableEnd   = strpos($source, '</table>', $tableStart);
    $rawTable   = substr($source, $tableStart, ($tableEnd - $tableStart));
?>
Run Code Online (Sandbox Code Playgroud)

我很难,这可能是用DOMDocument和/或xpath解决的......


最后,我希望标签之间的所有内容(在本例中为标签)和标签自身.所以所有HTML,不仅仅是值(例如,不只是'价值',而是'价值').并且有一个"捕获"......

  • 该表中包含其他表格.因此,如果您只搜索表格的末尾('tag'),您可能会得到错误的标签.
  • 开始标记有一个类,您可以使用它来识别它(classname ='schedule').

这可能吗?

这是我想要从另一个网站提取的(简化的)源代码:(我还想显示html标签,而不仅仅是值,所以整个表格都带有'schedule'类)

<table class="schedule">
    <table class="annoying nested table">
        Lots of table rows, etc.
    </table> <-- The problematic tag...
    <table class="annoying nested table">
        Lots of table rows, etc.
    </table> <-- The problematic tag...
    <table class="annoying nested table">
        Lots of table rows, etc.
    </table> <-- a problematic tag...

    This could even be variable content. …
Run Code Online (Sandbox Code Playgroud)

php xpath screen-scraping

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

使用id作为键,并将name命名为数组的值

我想改变mysql结果的格式......

[0] =>  
      [id]   => 1    
      [name] => King     
[1] =>  
      [id]   => 5
      [name] => Queen  
Run Code Online (Sandbox Code Playgroud)

对于这种格式:

[1] => King
[5] => Queen 
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将mysql结果放入这种格式.

$teamSql   = "SELECT id, name FROM users WHERE  projectid = '1';
$teamQuery = mysql_query($teamSql);
$teamFetch= mysql_fetch_assoc($teamQuery);
// and now?
Run Code Online (Sandbox Code Playgroud)

php mysql

0
推荐指数
1
解决办法
62
查看次数

标签 统计

php ×7

mysql ×3

cookies ×2

curl ×2

autologin ×1

screen-scraping ×1

setcookie ×1

xpath ×1