Я не очень знаком с regEx и пытаюсь найти регулярное выражение preg_match для поиска любой из следующих строк в файле, и если оно будет найдено, оно остановит его. У меня уже есть настройки fopen
и fgets
и fclose
. Мне просто нужно использовать регулярное выражение внутри preg_match для следующих тегов php:
<?php
<?
?>
, поэтому, если preg_match возвращает 1, этот файл будет пропущен, а не загружен. Я использую массив $ _FILES, чтобы загрузить его по почте, поэтому я надеюсь, что смогу использовать переменную $ _FILES ['file'] ['tmp_name'] для чтения файла.
Спасибо за вашу помощь:)
EDIT
if (in_array('application/x-httpd-php', $files[$filid]['mimetypes']) && ($_FILES[$value]['type'][$n] == 'application/octet-stream' || $_FILES[$value]['type'][$n] == 'application/octetstream'))
{
$file_extension = strtolower(substr(strrchr($_FILES[$value]['name'][$n], '.'), 1));
if ($file_extension == 'php')
{
// Reading the current php file to make sure it's a PHP File.
$fo = fopen($_FILES[$value]['tmp_name'][$n], 'rb');
while (!feof($fo))
{
$fo_output = fgets($fo, 16384);
// look for a match
if (preg_match([REG EX HERE], $fo_output) == 1)
{
$php = true;
break;
}
}
fclose($fo);
}
}
Хорошо, я прошу прощения, но на самом деле я должен найти PREG MATCH. Потому что, если это PHP-ФАЙЛ, мне нужно установить MIME TYPE: application / x-httpd-php в базе данных. ПОТОМУ ЧТО я также разрешаю загружать PHP-файлы в некоторых случаях. Так что, надеюсь, код, который я разместил выше, теперь будет более понятен всем вам.
Может кто-нибудь помочь мне с preg_match
регулярным выражением для этого, пожалуйста?