我试图分析上传文件(应该是图片)的内容,以阻止任何恶意篡改。因此,在处理之前,我想检测文件是否包含PHP代码。
$patern = "/<?php/" ;
$handle = fopen ($_FILES['image']['tmp_name'], "r");
if ($handle)
{
while (($buffer = fgets($handle, 4096)) !== false)
{
if ( preg_match ( $patern , $buffer ) );
{
echo "PHP files are forbidden";
}
}
if (!feof($handle))
{
echo "Error: fgets() failed\n";
}
fclose($handle);
}
发送图像后,结果为&#34; PHP文件被禁止&#34;回响了180次。 好吧,它在循环中,但在mi pic中没有一个 php 模式... 问题是什么?那个模特? preg_match?汉德尔? 非常感谢。
答案 0 :(得分:0)
对不起,
错误是:语法错误:结尾处的分号:
if ( preg_match ( $patern , $buffer ) );
否则一切正常