求解:php中,以下代码的运行原理详细解释?

求解:php中,以下代码的运行原理详细解释?,第1张

你是想问输出的结果为什么不是一个一个的显示吗你输出的结果本来就是对的,偶数为246810,

你的那句$str=$num" ";里面没有空格,所以在连着

还有一种可能你是想问没有按这种效果输出吗

10以内的偶数为:2

10以内的偶数为:4

10以内的偶数为:6

10以内的偶数为:8

10以内的偶数为:10

因为你最后输出的是$str

你在运算中把用$str=$num这句话的意思是把$str重新赋值为$str$num所以最后输出的也只是一句话

phpfpm 是CGI(common gateway interface, 译作通用网关接口)程序的一种, webserver (eg nginx)向接口程序发送请求,接收返回数据,期间 phpfpm 调用php运行php脚本,输出结果,phpfpm 相当于一个php的管家,真正的执行和输出还是靠php来完成。

    PHP文件下载的原理及实现

 通常文件下载过程是十分简单的 建立一个链接指向到目标文件就可以了 例如下面的链接

 <a href=// xxx /xxx rar>点击下载文件</a>

 但是 实际情况可能会稍复杂 比如需要用户填写完整注册信息后才可以下载该文件 这时最先想到的是使用Redirect的方式 下面介绍两种方式

 ( )用Redirect方式 先检查表格是否已经填写完毕和完整 然后将链接指到该文件 这样用户就可以下载 请看下面的示例代码

 <php

 /文件功能 检查变量form是否完整/

 if($form){

 //重新定向浏览器指向

 Header( Location: // // xxx /xxx rar )

 exit;

 }

 >

 ( )根据下载文件的序号来查找 链接的形式如下

 <a href= // xxx /download phpid= >点击下载文件</a>

 上面的链接使用ID方式接收要下载文件的编号 然后再用Redirect的方式连接到真实的文件链接

 以上这两种方法虽然实现了文件的下载功能 但是缺点是直接暴露了文件所属的路径 而且没有防盗链的功能 所以上面的方式是简单直接但存在安全隐患的文件下载方式 在PHP中 通常是利用header()函数和fread()函数来实现安全的文件下载

 例如 需要下载的是一个文件名为xxx rar的文件 首先创建文件是download php的PHP文件 通过前面的例子很容易通过文件的ID号从数据库中得到待下载文件的真实位置 在获得文件的真实存储位置后 可以通过header()函数的location参数直接重定向到这个文件 但是这样仍然是不安全的 因为某些下载软件还是可以通过重定向分析获得该文件的位置信息 因此需要用另外一种方法 就是PHP的文件处理API函数 它是通过fread()函数把文件直接输出到浏览器提示用户下载 这样所有的处理都是在服务器端完成的 因此用户就无法获得文件具体存储位置信息的 示例代码如下

 <

 $file_name = xxx rar ;     //下载文件名

 $file_dir = /up/ ;        //下载文件存放目录

 //检查文件是否存在

 if (! file_exists ( $file_dir $file_name )) {

 echo 文件找不到 ;

 exit ()

 } else {

 //打开文件

 $file = fopen ( $file_dir $file_name r )

 //输入文件标签

 Header ( Content type: application/octet stream )

 Header ( Accept Ranges: bytes )

 Header ( Accept Length: filesize ( $file_dir $file_name ) )

 Header ( Content Disposition: attachment; filename= $file_name )

 //输出文件内容

 //读取文件内容并直接输出到浏览器

 echo fread ( $file filesize ( $file_dir $file_name ) )

 fclose ( $file )

 exit ()

 }

 >

 代码解读

 上述代码中 程序发送Header信息是用来告诉Apache和浏览器下载文件的相关信息的 content type的含义代表文件MIME类型是文件流格式 如果在Apache配置里面把文件的MIME类型设为application/octet stream(如add application/octet stream xxx rar) 那么浏览器(客户端)就会知道 这是一个文件流格式的文件并提示用户下载 Accept Ranges是一个响应头标 它允许服务器指明将在给定的偏移和长度处 为资源组成部分的接受请求 该头标的值被理解为请求范围的度量单位 Content Length是指定包含于请求或响应中数据的字节长度 例如 Content Length: Content Disposition:attachment是用来告诉浏览器 文件是可以当做附件被下载 下载后的文件名称为$file_name该变量的值

 运行download php文件 效果如图 所示 从图中可以看到文件按照预想的方式被提示下载 单击 保存 按钮将文件保存在本地

图   PHP文件安全下载

       返回目录 PHP典型模块与项目实战大全

       编辑推荐

       Java Web开发详解

       PHP Web开发学习实录

lishixinzhi/Article/program/PHP/201311/21519

首先说一下在php中如何操作session

session_start(); //使用该函数打开session功能

$_SESSION //使用预定义全局变量操作数据

$_SESSION['user'] = 'php'; //定义一个session

echo $_SESSION['user']; //输出session

使用unset($_SESSION['user']) //销毁一个session的值

简单地操作,一切都是由服务器实现;由于处理在后台,一切看起来也很安全。但是session采用什么样机制,又是怎样被实现,并且如何来保持会话的状态的呢?

下面我们了解一下session实现与工作原理

浏览器和服务器采用http无状态的通讯,为了保持客户端的状态,使用session来达到这个目的。然而服务端是怎么样标示不同的客户端或用户呢?

这里我们可以使用生活中的一个例子,假如你参加一个晚会,认识了很多人,你会采取什么方式来区分不同的人呢!你可能根据脸型,也有可能根据用户的名字,

或者人的身份证,即采用一个独一无二的标示。在session机制中,也采用了这样的一个唯一的session_id来标示不同的用户,不同的是:浏览器每次请求都会带上

由服务器为它生成的session_id

简单介绍一下流程:当客户端访问服务器时,服务器根据需求设置session,将会话信息保存在服务器上,同时将标示session的session_id传递给客户端浏览器,

浏览器将这个session_id保存在内存中(还有其他的存储方式,例如写在url中),我们称之为无过期时间的cookie。浏览器关闭后,这个cookie就清掉了,它不会存在用户的cookie临时文件。

以后浏览器每次请求都会额外加上这个参数值,再服务器根据这个session_id,就能取得客户端的数据状态。

如果客户端浏览器意外关闭,服务器保存的session数据不是立即释放,此时数据还会存在,只要我们知道那个session_id,就可以继续通过请求获得此session的信息;但是这个时候后台的session还存在,但是session的保存有一个过期时间,一旦超过规定时间没有客户端请求时,他就会清除这个session。

动态网页的运行原理如下:

当用户请求的是一个动态网页时,服务器要做更多的工作才能把用户请求的信息发送回去,服务器一般按照以下步骤进行工作:

1、服务器端接受请求。

2、Web服务器从服务器硬盘指定的位置或内存中读取动态网页文件。

3、执行网页文件的程序代码,将含有程序代码的动态网页转化为标准的静态页面(如HTML)。

3、Web服务器将生成的静态页面代码发送给请求浏览器。

扩展资料:

1、动态网页一般以数据库技术为基础,可以大大降低网站维护的工作量。

2、采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等。

3、动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页。

4、动态网页中的“”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。

-动态网页

结果为:

好0

好1

好2

好3

在这里,++$i和$i++运行的结果都是一样的。运行原理就是,i的初始值为0;通过while循环判断是否小于4,如果小于4,打印下面的内容。直到不小于4 的时候跳了循环。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 求解:php中,以下代码的运行原理详细解释?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情