Longhorn PHP 2026 - Call For Papers

Filter İşlevleri

İçindekiler

  • filter_has_var — Belirtilen türde bir değişkenin mevcut olup olmadığına bakar
  • filter_id — İsimlendirilmiş bir süzgece ait süzgeç kimliğini döndürür
  • filter_input — İsme göre belirli bir dış değişken alır ve isteğe bağlı olarak süzer
  • filter_input_array — Dış değişkenleri alır ve isteğe bağlı olarak süzer
  • filter_list — Desteklenen tüm süzgeçlerin listesini döndürür
  • filter_var — Belirtilen süzgeçle bir değişkeni süzer
  • filter_var_array — Çok sayıda değişken alır ve isteğe bağlı olarak süzer
add a note

User Contributed Notes 2 notes

up
4
vojtech at x dot cz
19 years ago
Also notice that filter functions are using only the original variable values passed to the script even if you change the value in super global variable ($_GET, $_POST, ...) later in the script.

<?php
echo filter_input(INPUT_GET, 'var'); // print 'something'
echo $_GET['var']; // print 'something'
$_GET['var'] = 'changed';
echo filter_input(INPUT_GET, 'var'); // print 'something'
echo $_GET['var']; // print 'changed'
?>

In fact, external data are duplicated in SAPI before the script is processed and filter functions don't use super globals anymore (as explained in Filter tutorial bellow, section 'How does it work?').
up
0
fumble1 at web dot de
18 years ago
I recommend you to use the FILTER_REQUIRE_SCALAR (or FILTER_REQUIRE_ARRAY) flags, since you can use array-brackets both to access string offsets and array-element -- however, not only this can lead to unexpected behaviour. Look at this example:

<?php
$image = basename(filter_input(INPUT_GET, 'src', FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_LOW));
// further checks
?>

/script.php?src[0]=foobar will cause a warning. :-(
Hence my recommendation:

<?php
$image = basename(filter_input(INPUT_GET, 'src', FILTER_UNSAFE_RAW, FILTER_REQUIRE_SCALAR | FILTER_FLAG_STRIP_LOW));
// further checks
?>
To Top