Ubuntu下实现php解析jpg图片

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会将这张照片解析但是页面上展示的也有读入的另一张照片!!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu 环境下实现人脸检测通常可以使用 OpenCV 库来实现。以下是一些基本的步骤: 1. 安装 OpenCV 库:在终端中输入以下命令安装 OpenCV: ``` sudo apt-get install libopencv-dev ``` 2. 编写代码:使用 C++ 或 Python 编写代码,导入 OpenCV 库并调用相关函数实现人脸检测。 C++ 示例代码: ```c++ #include <opencv2/opencv.hpp> using namespace cv; int main() { // 读入图像 Mat image = imread("test.jpg"); // 加载分类器 CascadeClassifier face_cascade; face_cascade.load("haarcascade_frontalface_alt.xml"); // 人脸检测 std::vector<Rect> faces; face_cascade.detectMultiScale(image, faces, 1.1, 2, 0|CASCADE_SCALE_IMAGE, Size(30, 30)); // 在图像中绘制人脸矩形框 for (size_t i = 0; i < faces.size(); i++) { rectangle(image, faces[i], Scalar(255, 0, 0), 2); } // 显示结果 imshow("Face Detection", image); waitKey(0); return 0; } ``` Python 示例代码: ```python import cv2 # 读入图像 image = cv2.imread("test.jpg") # 加载分类器 face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_alt.xml") # 人脸检测 faces = face_cascade.detectMultiScale(image, scaleFactor=1.1, minNeighbors=2, minSize=(30, 30)) # 在图像中绘制人脸矩形框 for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2) # 显示结果 cv2.imshow("Face Detection", image) cv2.waitKey(0) ``` 以上代码中,`haarcascade_frontalface_alt.xml` 是 OpenCV 官方提供的人脸分类器,可以在 OpenCV 官网下载。 3. 运行代码:在终端中输入以下命令编译并运行代码: C++ 代码: ``` g++ -o face_detection face_detection.cpp `pkg-config --libs opencv` ./face_detection ``` Python 代码: ``` python face_detection.py ``` 运行后即可在窗口中看到检测到的人脸。 希望这些信息能够帮助您在 Ubuntu 环境下实现人脸检测。如果您有任何其他问题或需要更详细的建议,欢迎随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值