首页 技术教程 实用代码 注册破解 正则表达式 网址导航 电子书籍

分页的时候从url中移除page页码(多种方案)

如果你想从 URL 中移除 page=0、page=负数 或任何指定的 page 参数,可以使用 preg_replace() 进行正则匹配和替换。以下是几种情况的解决方案: 1. 移除 page=0 或 page=负数 如果 $cPage 是当前页码(可能是 0 或负数),并且你想从 URL 中移除 page=xxx(其中 xxx 是 0 或负数),可以使用: $url = "index.php?page=0&foo=bar"; $cPage = 0; // 或 -1, -2 等 // 匹配 page=0 或 page=负数,并移除 $newUrl = preg_replace('/([&?])page=-?d+(&|$)/', '$1', $url); // 处理可能的残留 ? 或 & $newU...
类别:网页编程 - PHP技术    查看:21    更新:2025-03-27

在PHP中使用curl_multi_exec多线程并发抓取数据

使用curl_multi_exec并发请求外部接口 有时候在一个PHP方法中要多次调用外部的接口,为了优化代码,提高效率,我们不妨使用curl_multi_exec并发处理多个请求,这样可以明显地提高获取响应数据的速度,减少程序执行的时间,下面是一个实际运行的例子。 <?php /** * 使用curl并行发送多个请求获取数据 * @param array $urls 多个请求数组 * @return array */ function sendMultiRequest(array $urls) { $conn = []; $res = []; //创建批处理curl句柄 $mh = curl_multi_init(); foreach ($urls as $k => $item) { $conn[$k] = curl_init(); //初始化各个子连接 //...
类别:网页编程 - PHP技术    查看:75    更新:2024-08-05

PHP中curl_errno对应信息中文版

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://xxxxx.xxx');//使用一个不存在的地址 curl_exec($ch); 此时会返回一个错误码:curl_errno($ch) 对应的使用$errlist[curl_errno($ch)]就能返回中文的错误说明 $errlist = array( '1'=>'CURLE_UNSUPPORTED_PROTOCOL (1) – 您传送给 libcurl 的网址使用了此 libcurl 不支持的协议。 可能是您没有使用的编译时选项造成了这种情况(可能是协议字符串拼写有误,或没有指定协议 libcurl 代码)。', '2'=>'CURLE_FAILED_INIT (2) – 非常早期的初始化代码失败。 可能是内部错误或问题。', '3'=>'CURLE...
类别:网页编程 - PHP技术    查看:122    更新:2024-08-01

利用php curl实现多进程下载文件类

批量下载文件一般使用循环的方式,逐一执行下载。但在带宽与服务器性能允许的情况下,使用多进程进行下载可以大大提高下载的效率。本文介绍php利用curl的多进程请求方法,实现多进程同时下载文件。 原理:使用curl的批处理方法,开启多进程,实现批量下载文件。 主要方法: curl_multi_init 返回一个新cURL批处理句柄 curl_multi_add_handle 向curl批处理会话中添加单独的curl句柄 curl_multi_exec 运行当前 cURL 句柄的子连接 curl_multi_getcontent 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流 curl_multi_remove_handle 移除curl批处理句柄资源中的某个句柄资源 cu...
类别:网页编程 - PHP技术    查看:193    更新:2023-07-17

php curl使用方法

try { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置是否将响应结果存入变量,1是存入,0是直接echo curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);//在发起连接前等待的时间,如果设置为0,则无限等待。 curl_setopt($ch, CURLOPT_TIMEOUT, 15);//允许执行的最长秒数。 curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);//伪造浏览器头信息 curl_setopt($ch, CURLOPT_REFERER,$_REFERER);//伪造来源页面 curl_setopt($ch, CURLOPT_URL, $url); $htmlSource = curl_exec($ch); //$h...
类别:网页编程 - PHP技术    查看:114    更新:2021-11-07

包含中文字符的URL编码问题

在xml应用中,经常将一些URL信息作为xml数据存储,其中URL参数有可能包含有中文字符。当使用dom对xml数据进行解析时,可以对中文字符进行编码。但如果只使用xslt来显示xml数据时(data.xml+data.xsl),发现此时的URL会出现编码错误.即使指定编码类型(encoding="gb2312"),依然会出现同样的问题.测试发现:是IE的缓存机制问题,IE仍会把新的页面(所链接的URL)的MIME内容类型默认为text/xml解决方法:1.指定输出文档类型为xml文档 (example:data.xsl)<xsl:output method="xml" encoding="gb2312" media-type="text/xml" />2.在新的窗口打开,给联接增加属性,指明目标窗口为其他窗...
类别:网页编程 - XML应用    查看:128    更新:2014-06-23

javascript对url编码中escape,encodeURI,encodeURIComponent函数的用法区别

用javascript对URL进行编码时有3个函数可选:escape,encodeURI,encodeURIComponent函数.下面介绍一下它们的用法和区别。 1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 例如: <script language="javascript">document.write(''<a href="http://www.phpzixue.cn/?logout&aid=7&u=''+encodeURIComponent("http://www.phpzixue.cn/")+''">退出</a>'');</script> 2、 进行url跳转时可以整体使用encodeURI 例如: Location.href=encodeURI(http://cang.baidu.com/do/s?word=中国asp之家&ct=21); 3、...
类别:网页编程 - JavaScript    查看:162    更新:2014-05-22

JS正则 - 替换文本中的URL为链接

这个正则的关键就在于匹配链接,匹配之后,在两边加上a标签和属性不是问题。 /http://[w-]*(.[w-]*)+/ig首先匹配http://。 [w-]*是可能的www和bbs等。 .[w-]*匹配.xxx形式,至少有一个。以下是代码: <script type="text/javascript"> /****************************************************** * Share JavaScript (http://www.ShareJS.com) * 使用此脚本程序,请保留此声明 * 获取此脚本以及更多的JavaScript程序,请访问 http://www.ShareJS.com ******************************************************/ function replaceReg(reg,str){ return str.replace(reg,function(m){return '<a href="'+...
类别:网页编程 - JavaScript    查看:108    更新:2014-05-22

ASP.NET URL重写(URLRewriter)之简化版

在 asp.net 里实现 URL重写(URLRewriter)的一个最简单的方法。 参考了 (作者 Scott Mitchell 翻译:Janssen )的大作,虽然没有完全看明白,但是也照猫画虎地做了一个,颇有“成就”感。写出来分享一下。 原作里讲了很多的原理,这里就不说了(其实我也不懂)。这里就写操作过程吧。目的是实现一个最简单的能实现 URL重写 的程序。 1、需要设置一下IIS里的站点属性。 2、修改web.config的内容。  <system.web>      <httpHandlers>        <add verb="*" path="*.zhtml" type="ZDIL.URLRewriter.RewriterFactoryHandler, ...
类别:网页编程 - ASP.NET    查看:112    更新:2014-05-20

PHP当中取得URL及物理路径的总结

取得地址栏内URL及文件所属的路径: 运用$_SERVER[ ]我们可以来完成许多事情:它是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建。 这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用global $_SERVER; 访问它,就如同使用 $HTTP_SERVER_VARS 一样。 $HTTP_SERVER_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的变量,PHP 处理它们的方式不同。)如果设置了 register_globals 指令,这些变量也在所...
类别:网页编程 - PHP技术    查看:150    更新:2014-05-19

跨站抓取别的站点的页面之CURL

在实际的应用中,经常会遇到一些特殊的情况,比如需要新闻,天气预报,等等,但是作为个人站点或者实力小的站点 我们不可能有那么多的人力 物力 财力去做这些事情,怎么办呢? 好在互联网是 资源共享的,我们可以利用程序 自动的把别的站点的页面抓取回来经过处理后被我们所利用。 用什么呢,那个战友给的是不行的,其实在Php有这个功能,那就是用curl库。请看下面的代码! <?php $ch = curl_init ("http://dailynews.sina.com.cn"); $fp = fopen ("php_homepage.txt", "w"); curl_setopt ($ch, CURLOPT_FILE, $fp); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec...
类别:网页编程 - PHP技术    查看:114    更新:2014-05-19

PHP使用curl采集

从朋友那拿到一份代码,用CURL模拟用户登录并采集需要用户登录的页面的。 先在本机测试,在php.ini中去掉了extension=php_curl.dll前面的;,查看一下phpinfo(),并没有curl。 查了下文档:将libeay32.dll 和ssleay32.dll复制到system32下,重启apache,刷新phpinfo(),看到了curl。 以下是PHP代码:【复制代码】 <?php $cookie_jar = tempnam('./tmp','cookie'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'登陆地址'); curl_setopt($ch, CURLOPT_POST, 1); $request = 'username=xxx&pwd=xxx'; curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//传递数据 curl_set...
类别:网页编程 - PHP技术    查看:117    更新:2014-05-19

PHP中curl的使用说明

bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。 下列选项的值将被作为长整形使用(在option参数中指定):  *CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。 *CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。 *CURLOPT_HEADER: 如果你想把一个头包含在输出中,设置这个选项为一个非零值。 *CURLOPT_NOPROGRESS: 如果你不会PHP为CURL传输显示一个进程条,设置这个选项为一...
类别:网页编程 - PHP技术    查看:121    更新:2014-05-19

allow_url_include的应用和解释

PHP常常因为它可能允许URLS被导入和执行语句被人们指责。事实上,这件事情并不是很让人感到惊奇,因为这是导致称为Remote URL Include vulnerabilities的php应用程序漏洞的最重要的原因之一。 因为这个原因,许多安全研究人员建议在php.ini配置中禁用指向allow_url_fopen。不幸的是,许多推荐这种方法的人,并没有意识到,这样会破坏很多的应用并且并不能保证100%的解决remote URL includes以及他带来的不安全性。 通常,用户要求在他们使用其他的文件系统函数的时候,php允许禁止URL包含和请求声明支持。 因为这个原因,计划在PHP6中提供allow_url_include。在这些讨论之后,这些特性在php5.2.0 中被backported。现在大多数...
类别:网页编程 - PHP技术    查看:96    更新:2014-05-19

url-servlet

* Exact match (/foo)绝对匹配 * Path match (/foo/*)部分匹配 * Extension match (*.foo)后缀匹配 * Default servlet (/) which is useful only for servlet mappings There is no legal syntax to say "all but this set of paths". url-pattern写成/foo/或者 /*.jsp或者*/foo等等都是无效的url-pattern
类别:程序开发 - JAVA    查看:100    更新:2014-05-15

从URL获取文件保存到本地的代码

<%@page import="java.net.*,java.io.*"%> <%! public boolean saveUrlAs(String photoUrl, String fileName) { //此方法只能用户HTTP协议 try { URL url = new URL(photoUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); DataInputStream in = new DataInputStream(connection.getInputStream()); DataOutputStream out = new DataOutputStream(new FileOutputStream(fileName)); byte[] buffer = new byte[4096]; int count = 0; while ((count = in.read(buffer)) > 0) { out.write(buffer, 0, count); } out.close(); in.close(); ret...
类别:程序开发 - JAVA    查看:104    更新:2014-05-13