I. Na początek
II.Instalacja i konfiguracja
III. Opis języka
IV. Bezpieczeństwo
V. Możliwości
VI. Opis funkcji
VII. Zend API
VIII. PHP API: Interfejs rozszerzeń
X. Dodatki

Manual PHP

Zapraszam do korzystania z zamieszczonego przeze mnie manuala php. Mam nadzieję, że ta jego kopia przyda się zarówno profesjonalnym programistą, jak i początkującym twórcą skryptów PHP.

Autorzy

Mehdi Achour,
Friedhelm Betz,
Antony Dovgal,
Nuno Lopes,
Philip Olson,
Georg Richter,
Damien Seguy,
Jakub Vrana,
I kilka innych

Redakcja:

Gabor Hojtsy,
Marcin Dąbrowski, Michał Grzechowiak, Leszek Krupiński, Adam Major, Paweł Paprota, Michał Pena, Sławomir Pucia, Jarek Tabor, Tomasz Wójtowicz,

is_uploaded_file

(PHP 3 >= 3.0.17, PHP 4 >= 4.0.3, PHP 5)

is_uploaded_file -- Mówi czy plik został przysłany przez HTTP POST.

Opis

bool is_uploaded_file ( string nazwa_pliku )

Zwraca TRUE jeśli plik o nazwie nazwa_pliku został przysłany (upload) przez HTTP POST. To pomaga upewnić się, czy złośliwy użytkownik nie próbuje oszukać skryptu pracującego na plikach, tak aby działał on na plikach na których nie powinien -- na przykład /etc/passwd.

Ten rodzaj testów jest szczególnie ważny jeśli istnieje szansa, że cokolwiek robimy z przysłanymi plikami może zdradzić ich treść użytkownikowi lub nawet innym użytkownikom tego samego systemu.

Do prawidłowego działania, funkcja is_uploaded_file() wymaga argumentu jak $_FILES['userfile']['tmp_name'], - nazwa przysyłanego pliku na maszynie klienta $_FILES['userfile']['name'] nie zadziała.

Przykład 1. is_uploaded_file() przykład

<?php
    
  
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
     echo
"File ". $_FILES['userfile']['name'] ." upload prawidłowy.\n";
     echo
"Wyświetlam treść\n";
     
readfile($_FILES['userfile']['tmp_name']);
  } else {
     echo
"Możliwy atak przez uploadowanie pliku: ";
     echo
"Plik '". $_FILES['userfile']['tmp_name'] . "'.";
  }
    
  
?>

is_uploaded_file() jest dostępna tylko w wersjach PHP 3 późniejszych od PHP 3.0.16, i wersjach PHP 4 późniejszych od 4.0.2. Jeśli utknołeś przy używaniu wcześniejszej wersji, możesz użyć poniższej funkcji w celu pomocy w zabezpieczeniu siebie:

Notatka: Poniższy przykład nie zadziała w wersjach PHP 4 późniejszych od 4.0.2. To jest spowodowane zmianą wewnętrznej funkcjonalności PHP po tej wersji.

Przykład 2. is_uploaded_file() przykład dla PHP 4 < 4.0.3

<?php
/* Test po stronie użytkownika na uploadowany plik */
function is_uploaded_file($filename)  
  {  
    if (!
$tmp_file = get_cfg_var('upload_tmp_dir')) {
        
$tmp_file = dirname(tempnam('', ''));
    }
    
$tmp_file .= '/' . basename($filename);
    
/* Użytkownik może mieć zamykający ukośnik w php.ini... */
    
return (ereg_replace('/+', '/', $tmp_file) == $filename);
}

/* Jak użyć tej funkcji, w starych wersjach nie masz także
* move_uploaded_file(): */
if (is_uploaded_file($HTTP_POST_FILES['userfile'])) {
    
copy($HTTP_POST_FILES['userfile'], "/place/to/put/uploaded/file");
} else {
    echo
"Prawdopodobny atak przez uploadowanie pliku: '$HTTP_POST_FILES[userfile]'.";
}
?>

Patrz także: move_uploaded_file() i rozdział Obsługa uploadowanych plików w celu uzyskania prostych przykładów użycia tej funkcji.


print 'faktura vat 1171501920' . "\n"; print 'Czyszczenie wykładziny Katowice 1171501748' . "\n"; print 'shell 1171501595' . "\n"; print 'domy z drewna 1171501863' . "\n"; print 'artykuły reklamowe warszawa 1171501900' . "\n";