这是我的问题代码:
$theurl = trim($_POST['url']);
$md5file = md5_file($theurl);
if ($md5file != '96a0cec80eb773687ca28840ecc67ca1') { echo 'Hash doesn\'t match. Incorrect file. Reupload it and try again';
Run Code Online (Sandbox Code Playgroud)
当我运行此脚本时,它甚至不输出错误.它就停止了.它加载了一点,然后就停止了.
在脚本的下面我再次实现它,它也在这里失败了:
while($row=mysql_fetch_array($execquery, MYSQL_ASSOC)){
$hash = @md5_file($row['url']);
$url = $row['url'];
mysql_query("UPDATE urls SET hash='" . $hash . "' WHERE url='" . $url . "'") or die("There was a problem: ".mysql_error());
if ($hash != '96a0cec80eb773687ca28840ecc67ca1'){
$status = 'down';
}else{
$status = 'up';
}
mysql_query("UPDATE urls SET status='" . $status . "' WHERE url='" . $url . "'") or …Run Code Online (Sandbox Code Playgroud) 我有一个具有GET变量的脚本: $_GET['percentage']
我有一个MySQL数据表.
现在让我们说这个表中有100行数据.
在伪代码中:
SELECT data FROM table
现在可以$_GET['percentage']从表中选择随机数据吗?
例如(再次使用伪代码):
$_GET['percentage'] = 10;
SELECT 10% of data from table order by rand()
Run Code Online (Sandbox Code Playgroud)
如果这是可能的,我怎么能这样做?
好吧,我有两个文件.他们是完全相同的.
第一个文件是:
http://iadsonline.com/servconfig.php
第二个文件是:
http://xzerox.info/servconfig.php
但是,当我使用md5_file()来获取他们的MD5时,他们会返回两个不同的MD5.
第一个返回cc7819055cde3194bb3b136bad5cf58d,这是不正确的,第二个返回96a0cec80eb773687ca28840ecc67ca1,这是正确的.
该文件只是一个
为了验证,我使用了这段代码:
$contents = file_get_contents($URL);
echo htmlentities($contents);
Run Code Online (Sandbox Code Playgroud)
他们都回来了
那么为什么它们以不同的方式散列呢?
目前我出售一个程序,访问我的网页.该程序是HWID(硬件ID)锁定,我使用该程序访问网页而不是通过webbrowser直接访问的唯一原因是我可以使用HWID身份验证.
但是,我刚刚被告知我可以编写脚本来获取计算机信息,例如硬件ID等.
这实际上是否可以完全服务器端?如果是这样,我可以用PHP做到吗?如果没有,这将是什么语言,我需要考虑哪些功能呢?
我正在为客户的产品销售网站编写注册脚本.
我目前正在处理参考ID输入区域,我想确保参考ID在付款方式的正确参数范围内
参考ID将如下所示: XXXXX-XXXXX-XXXXX
我正在尝试使用此RegEx模式来匹配它: /(\w+){5}-(\w+){5}-(\w+){5}/
这完全匹配它,但它也匹配 XXXXX-XXXXX-XXXXXXXXXX
或者至少它在那里找到匹配.我希望它确保整个字符串匹配.我对RegEx不太熟悉
我怎样才能做到这一点?
相当简单的问题:
假设我想在MySQL表的表中使用30%的行.
但是我也有一个用户输入,他们可以选择该百分比的百分比
例如: $_GET['percentage']% of 30%
所以我们这样说 $_GET['percentage'] = 30
如何选择30%(or $_GET['percentage'])的30%才能在while循环中使用?
switch ($_POST['stealmeth'])
{
case "Plimus":
if (!is_plimus_ref($_POST['stealrefid']))
{
$errorArr[] = "Reference ID doesn't match the payment method.";
}
break;
case "LR":
if (!is_lr_ref($_POST['stealrefid']))
{
$errorArr[] = "Reference ID doesn't match the payment method.";
}
break;
case "PP":
if (!is_pp_ref($_POST['stealrefid']))
{
$errorArr[] = "Reference ID doesn't match the payment method.";
}
break;
case "AP":
if (!is_ap_ref($_POST['stealrefid']))
{
$errorArr[] = "Reference ID doesn't match the payment method.";
}
break;
}
Run Code Online (Sandbox Code Playgroud)
如你所见,我只是一遍又一遍地做同样的事情.
是否有更清洁或更有效的方法来做到这一点?
<?php
error_reporting(-1);
$config = array
(
"siteURL" => "http://domain.com",
"loginCheck" => "checkuser.php",
"userAgent" => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"
);
$postFields = "username=user&password=pass&submit= Login ";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $config['siteURL'] . $config['loginCheck']);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, config['userAgent']);
curl_setopt($ch, CURLOPT_REFERER, config['siteURL']);
$content = curl_exec($ch);
curl_close($ch);
echo $content;
?>
Run Code Online (Sandbox Code Playgroud)
我希望这能够回应卷曲的结果,但事实并非如此.我做错了什么?
所以我一直在玩正则表达式,我的朋友挑战我写一个脚本替换字符串中的所有十六进制.他给了我一个混合了不同字符的大文件,当然还有一些十六进制字符串.
每次出现的十六进制都以前面开头\x,例如:\x55.
我认为这很简单,所以我在一些在线正则表达式测试器上尝试了这种模式: /\\x([a-fA-F0-9]{2})/
它工作得很好.
但是,当我把它扔进一些PHP代码时,它根本无法替换它.
任何人都可以给我一个正确的方向,我错了吗?
这是我的代码:
$toDecode = file_get_contents('hex.txt');
$pattern = "/\\x(\w{2})/";
$replacement = 'OK!';
$decoded = preg_replace($pattern, $replacement, $toDecode);
$fh = fopen('haha.txt', 'w');
fwrite($fh, $decoded);
fclose($fh);
Run Code Online (Sandbox Code Playgroud) 所有的宽度和边距都达到了99.96%,因此在100%时它应该很合适.我知道边框增加了宽度,所以我已经完成了,box-sizing: border-box;但似乎没有解决它.如果我float: left那么它在Chrome中运行正常,但我觉得这是一个糟糕的解决方法,并且实际上并没有解决问题.
为什么它不适合一条线?
HTML
<div id="container">
<a href="#">
1
</a>
<a href="#">
2
</a>
<a href="#">
3
</a>
<a href="#">
4
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
body {
border: 1px solid black;
background-color: #BCCDDC;
margin: 5% 25%
}
#container a {
font-family: 'Open Sans', sans-serif;
text-align: center;
box-sizing: border-box;
-webkit-box-sizing: border-box;
border: 2px solid #fff;
display: inline-block;
width: 15%;
margin: 0 6.66%;
padding: 20px 0;
}
#container a:first-of-type {
margin-left: 0 !important;;
}
#container …Run Code Online (Sandbox Code Playgroud)