
本文详解 php + html 文本转二进制脚本无法执行的常见原因(如文件扩展名错误),并提供可直接运行的完整修复代码、部署要点与安全建议。
你提供的 PHP 脚本逻辑本身是正确的:它通过 ord() 获取字符 ASCII 值,再用 decbin() 转为二进制,并以空格分隔。但页面中显示原始 PHP 代码(如 未被解析)、表单提交无响应——这几乎可以确定是服务器未解析 PHP,而非代码缺陷。
? 核心原因:文件未被 PHP 引擎处理
最常见的原因是:文件保存为 .html 或 .htm 后缀(如 converter.html),而非 .php。Web 服务器(如 Apache、Nginx)默认只对 .php 扩展名启用 PHP 解析器。若命名为 converter.html,服务器会直接将 PHP 标签作为纯文本发送给浏览器,导致源码可见、逻辑不执行。
✅ 正确做法:
- 将文件重命名为 converter.php;
- 确保通过 本地 PHP 开发环境(如 XAMPP、WAMP、MAMP)或支持 PHP 的 Web 服务器 访问(例如 http://localhost/converter.php),切勿双击 HTML 文件打开(此时走 file:// 协议,PHP 完全不生效)。
✅ 修复后的完整代码(增强健壮性)
文本转二进制转换器
? 文本 → 二进制 转换器
⚠️ 关键注意事项
- 安全防护:使用 htmlspecialchars() 输出用户输入内容,防止 XSS 攻击;
- 输入清理:trim() 去除首尾空格,!empty() 避免空提交;
- 格式优化:str_pad(decbin($ascii), 8, '0', STR_PAD_LEFT) 补齐 8 位(标准 ASCII 字节),结果更规范(如 'A' → '01000001');
- 环境验证:在终端运行 php -v 确认 PHP 已安装;创建 info.php 写入 ,通过浏览器访问验证服务器是否正常解析 PHP。
? 总结:90% 的“PHP 代码显示为源码”问题,根源在于文件扩展名错误或未经 Web 服务器执行。务必使用 .php 后缀 + 本地服务器环境。代码逻辑只需微调即可稳健运行——无需重写,重命名即解决。











