Ubuntu下实现php解析jpg图片~~~~~~~
os:吐槽Ubuntu 20版本(各种源不存在、未维护等问题,有可能大概率也是自己没玩明白),还是老老实实用18低版本吧
正片开始:
环境:Ubuntu 18.0 x86_64
安装软件:libapache2-mod-php \ apache2
第一步:安装apache2
apt-get update \\ 更新源
apt-get install apache2
service apache2 start (或stop或restart)
第二步:安装php
sudo apt install libapache2-mod-php
这里不用sudo apt install php 安装
的原因是libapache2-mod-php
可以自动进行apache与php之间的相关配置,安装libapache2-mod-php
时已经自动安装了php。so,为了省事直接安装libapache2-mod-php。
第三步:检测软件安装
cd /var/www/html
vim i.php
<?php phpinfo();?>
然后wq保存。
浏览器访问 IP/i.php
成功返回PHP信息。说明我们的apache+PHP软件已经安装好了。
第四步:修改配置文件(重点)
vim /etc/apache2/apache2.conf
这个位置 插入如下代码,效果图↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑(我就是在这一步折腾了N久才发现要在这配置,不然php是解析不了jpg的)
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
接下来继续:
cd /var/www/html
vim .htaccess
按 i 输入如下代码
AddType application/x-httpd-php .jpg
当然也可以输入其他代码如:
AddType application/x-httpd-php .pdf
AddType application/x-httpd-php .json 等
当然了,配置方式不止这一种,这一种内容少嘛所以要选择它了啊。
其他配法:
<FilesMatch ".jpg$">
SetHandler application/x-httpd-php
</FilesMatch>
注意:我们一定要记得配置成 .jpg$ 这样式的。
原因:FileMatch 后面的字符串是根据正则匹配
写的,如果用户上传一个.jpg.txt文件也会被当做可执行文件执行的,
正则表达式中$
表示字符串的结尾,也就是我们要限制 .jpg 要出现在字符串的结尾。
最后:重启服务
service apache2 restart
或者
systemctl restart apache2
效果展示:
(写一个jpg文件,内容php代码,懒得写直接cp一个)
(将 i.php 改为 i.jpg )
cp i.php i.jpg
浏览器访问 IP/i.jpg (php解析jpg 展示 phpinfo(); 内容)↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
拓展:可以将另一张图片用php语法读入当前jpg文件中,当然了当前jpg文件中写入什么代码都行最后php会将这张照片解析但是页面上展示的也有读入的另一张照片!!!!!