如何在html中嵌入php

说白了,在HTML中嵌入PHP主要有两种方法,一种是标准的<?php ?>,另一种是短的<?= ?>标签。
这两个其实很简单,但是选择哪一个要看场景。

标准<?php ?> 是一个通用播放器。
我们在去年开发的项目中使用了它。
只需输入 <?php echo "content"; ?> 直接在 HTML 中。
它支持各种复杂的逻辑,比如条件判断、循环等。
但是记住,每次写完PHP后一定要关闭?>,否则会报错。
还有一点是,你必须使用 echo 或 print 来输出 PHP 生成的东西,否则你在浏览器中看到的就是一堆乱码。
还有一个细节非常重要。
例如,在去年的一个项目中,我们忘记将specialchars() 添加到用户输入中。
结果,一个XSS漏洞就被别人直接利用了。
说实话,当时挺尴尬的。

<?= ?> 短标签就像一个懒人包,直接输出表达式的结果,如<?= rand(1 ,1 00); ?>,但这必须得到服务器的支持,并且必须在 php.ini 中启用short_open_tag。
很多人不注意这一点。
如果写太多短标签,换服务器时就会崩溃,可移植性很差。
等等,还有一件事。
快捷键不能写复杂的逻辑,只能输出简单的东西,比如变量、函数返回值。

一开始我以为短标签更高级,但后来我意识到我错了。
短标签只是语法糖。
它们写起来很有趣,但维护成本很高。
实际上,选择哪一个取决于项目。
对于小型设备,短标签更方便,但对于大型项目,最好使用实用且由模板分隔的标准标签。
像我们去年日活数千万的项目,一切都是用标准标签+ThinkPHP模板完成的。

建议初学者先练习标准标签,根据情况使用短标签。
不要写太多忘记改配置。

在HTML中无需保存文件即可显示PHP动态生成图片

呃...这个东西...2 02 2 年...我在某个城市做一个项目...代码跑了...我觉得挺有意思...
当时很迷茫...怎么做...用PHP生成图片...直接在网页上显示...
后来才意识到...使用Base64 编码...DataURI技术...
具体操作是...首先使用GD库...创建图像...1 00x1 00像素...白色背景...写 'Hello'...
然后...关键是这一步...ob_start()...捕获输出...
imagepng($image)...将图像数据扔进去...然后使用ob_get_clean()...取出数据...
获取数据...base64 _encode()...转换为字符串...
最后...将这个字符串...转换为DataURI格式...插入到img标签的src中...
Like 这个...

就这么简单...
但是...有点烦人的是...Base64 编码...会增加3 3 %左右的大小...
比如...1 KB的图片...变成1 .3 KB...
所以...只适合小图片...比如验证码...图标...
如果图片太大...比如1 MB的照片...塞进去...网页会卡顿...
而且...老 浏览器...比如IE8 及以下...可能不支持DataURI...
这样...图片不会单独缓存...
每次刷新页面...都会重新生成...重新编码...
所以...如果图片内容是固定的...建议保存为文件...
但是有时候...比如高并发环境...频繁生成小图片...
使用这种方法...可以减少文件I/O 开销...
另外...保存文件存储...简单...
我稍后会用这个...制作一个简单的动态水印...
每次生成图片...添加时间戳...直接嵌入...
非常方便...
只是...代码可读性...差一点...
长串Base64 字符串...塞在HTML中...
看不懂...但是...值得...
无论如何...2 02 2 年 以前...这是一个很实用的技巧...
具体量...多少...没关系...
这个方法...还不错...