phpurl驗證
Ⅰ php中檢查 url 鏈接是否已經有參數,添加
//檢查鏈接中是否存在 ?
$check = strpos($old_url, '?');
//如果存在 ? if($check !== false)
{ //如果 ? 後面沒有參數,如 hindex.php?
if(substr($old_url, $check+1) == '') {
//可以直接加上附加參數 $new_url = $old_url;
} else //如果有參數,如:index.php?ID=12
{ $new_url = $old_url.'&';
} }
else //如果不存在 ? {
$new_url = $old_url.'?'; }
echo $new_url;
?>
Ⅱ 批量驗證url有效性並將有效的url輸出到文本
因為工作需要,之前用python寫了一些批量校驗url有效性的小腳本,但並不全面,健壯性較差,現把之整理一下,代碼如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import urllib2
from urllib2 import URLError
result_url=[]
count=0
not_200=0
f=open("img1.txt","r")
img_not_200=open("img_not_200.txt","w+")
for line in f:
count+=1
print "on scanning ",count
try:
response=urllib2.urlopen(line)
except URLError, e:
if hasattr(e,'reason'): #stands for URLError
print "can not reach a server,writing..."
result_url.append(line)
not_200+=1
img_not_200.write(line)
print "write url success!"
elif hasattr(e,'code'): #stand
對這段代碼解析如下:
如果url有效,則可以正常通過urlopen取到response,並且response.getcode()等於200;
但若url無效,無論是無法找到伺服器還是其他http錯誤,都無法通過urlopen返回response。這個時候,就需要通過返回的錯誤類型來判斷錯誤到底是url錯誤還是http錯誤。上面的程序是通過錯誤類型所擁有的屬性來判斷的。如果錯誤類型有「code」屬性,則代表錯誤是HTTPError;如果屬性有「reason」,則代表是URLError錯誤。
當然,也可以在except中分別指定拋出的錯誤類型,進而進行不同的處理。所要注意的是,因為HTTPError是URLError的子類,所以必須在第一個except中指定捕獲HTTPError,第二個except中指定捕獲URLError,否則的話,你懂的。。
收藏
Ⅲ php 怎麼驗證輸入的url合法性
首先,定義函數check_url:
<?php
function check_url($url){
if(!preg_match('/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is',$url)){
return false;
}
return true;
}
?>
使用方法:
<?php
$url='需驗證的url';
$isurl=check_url($url);
if($isurl){
echo 'url地址合法';
}else{
echo 'url地址非法';
}
?>
Ⅳ php 正則驗證是url否以http://開始 返回值是啥 我是一菜鳥 求解
<?php
$url = "http://www..com";
$pa = '/\b((?#protocol)https?|ftp):\/\/((?#domain)[-A-Z0-9.]+)((?#file)\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?((?#parameters)\?[A-Z0-9+&@#\/%=~_|!:,.;]*)?/i';
preg_match_all($pa,$url,$r);
if($r[1][0]=='http')
{
echo '當前網路訪問協議是 http';
}
?>
如果單純地只是檢測是不是以http://開頭,可以直接用strpos函數來完成,這樣速度更快。
Ⅳ php 正則表達式 url匹配
1,preg_grep(pattern,array);它的返回值是一個新數組,新數組的元素是成功匹配的元素。
Ⅵ php網頁url判斷。
你不是都清楚了嗎? 獲取到uid後直接存資料庫嘛。回頭你查看資料庫的數據就明白了。
Ⅶ php語言獲得並判斷url
function isInString4($haystack, $needle) {
return false !== strpos($haystack, $needle);
}
var_mp(isInString1($haystack, $needle));
....
if(strpos($a, $b) !== ture){
執行語句1
}else{
執行語句2
}
Ⅷ PHP 正則驗證URL網址格式是否有效
PHP使用ereg()正則表達式函數來驗證網址URL的格式是否符合規定,若網址有效則返回true,無效則返回false。本函數在PHP中屬常用函數。本函數執行返回布爾值。
PHP檢測網址是否效的
1 function CheckUrl($C_url){
2 if (!ereg("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $C_url))
3 {
4 return false;
5 }
6 return true;
7 }
Ⅸ php如何驗證網址是否正確
public function getUrlParams()
{
if ($this->_urlParams === null)
{
$pa = @parse_url($this->getUrl());
$pa['scheme'] = isset($pa['scheme']) ? strtolower($pa['scheme']) : 'http';
if ($pa['scheme'] !== 'http' && $pa['scheme'] !== 'https')
{
trigger_error("Invalid url scheme `{$pa['scheme']}`", E_USER_WARNING);
return false;
}
if (!isset($pa['host']))
{
trigger_error("Invalid request url, host required", E_USER_WARNING);
return false;
}
if (!isset($pa['path']))
$pa['path'] = '/';
// basic auth
if (isset($pa['user']) && isset($pa['pass']))
$this->applyBasicAuth($pa['user'], $pa['pass']);
// convert host to IP address
$port = isset($pa['port']) ? intval($pa['port']) : ($pa['scheme'] === 'https' ? 443 : 80);
$pa['ip'] = $this->hasHeader('x-server-ip') ?
$this->getHeader('x-server-ip') : self::getIpAddr($pa['host']);
$pa['conn'] = ($pa['scheme'] === 'https' ? 'ssl' : 'tcp') . '://' . $pa['ip'] . ':' . $port;
// host header
if (!$this->hasHeader('host'))
$this->setHeader('host', strtolower($pa['host']));
else
$pa['host'] = $this->getHeader('host');
$this->_urlParams = $pa;
}
return $this->_urlParams;
}
public function getUrlParam($key)
{
$pa = $this->getUrlParams();
return isset($pa[$key]) ? $pa[$key] : null;
}
Ⅹ php判斷url地址正則表達怎麼寫
這個其實很簡單的。就不說教了,直接給代碼吧:
$url=$_SERVER['REQUEST_URI'];
if (preg_match('/^\/\w+\/?$/', $url)) {
// 說明這里匹配的是目錄
} else if (preg_match('/^\/\w+\/\w+\.html$/', $url)) {
// 說明這里是匹配的文件
}