Skip to Content
PHP编程:第4版
book

PHP编程:第4版

by Kevin Tatroe, Peter MacIntyre
January 2021
Intermediate to advanced
505 pages
9h 45m
Chinese
Publishing House of Electronics Industry
Content preview from PHP编程:第4版
动态生成按钮
257
}
header
("Content-Type: image/png");
imagepng($image);
在该示例中,覆盖有默认文本的黑色按钮(
button.png
)如图
10-7
所示。
10-7:带有默认文本的动态按钮
示例
10-8
的脚本在网页中可以这样调用
<img src="button.php?text=PHP+Button" />
生成的
HTML
按钮如图
10-8
所示。
10-8:带文本标签的按钮
字符
+
URL
中是空格的编码(空格在
URL
中是非法的,必须被编码)。可用
PHP
urlencode()
函数对按钮字符串编码,例如
<img src="button.php?text=<?= urlencode("PHP Button"); ?>" />
缓存动态生成的按钮
生成动态图片总是比发送静态图片要慢。对于按钮来说,由于使用相同的文本参数生成
的图片总是一样的,于是可以实现一个简单的缓存机制。
示例
10-9
的功能是只在没有缓存文件的时候才生成按钮。
$path
变量控制缓存按钮
的目录(对于网页服务器用户是可写的),确保这个目录可从运行代码的地方访问。
lesize()
函数返回文件大小,
readle()
函数将文件内容发送到浏览器。由于这个脚本
直接用文本表单参数作为文件名,所以它并不安全(第
14
章将讨论安全问题,会解释
为什么和如何修改)。
示例 10-9:缓存动态按钮
<?php
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

解密金融数据

解密金融数据

Justin Pauley
算法技术手册(原书第2 版)

算法技术手册(原书第2 版)

George T.Heineman, Gary Pollice, Stanley Selkow
Java持续交付

Java持续交付

Daniel Bryant, Abraham Marín-Pérez

Publisher Resources

ISBN: 9787121404634