apache + php

matejic na troja.fjfi.cvut.cz matejic na troja.fjfi.cvut.cz
Úterý Červen 17 07:29:11 CEST 2003


No, vzhledem k tomu ze ted pouzvas nejakou funkci cp nebo co, tak vubec
nevim jestli se oba bavime o tom samem.

Pokud chces uploadovat soubor prez webovsky formular, pak na HTML strance
zadas do formulare 2 veci:
1) <form enctype="multipart/form-data" action="_URL_" method="post">
2) <input name="jmeno" type="file">

pokud surfer tento formular vyplni a clickne Submit, odesle tvuj browser
spolu s formularem i cely soubor (jehoz komplet jmeno i s cestou je napsane
v inputu "jmeno"). Pokud soubor neexistuje (surfer napise rucne blablabla)
tak browser zkratka zadny soubor spolu s formularem neposle.

No, a ted se dostava na radu tvuj skript.
Jako prvni radek si nech vypisovat
print_r($FILES);
at vis co ti to dela nebo nedela.

S uploadnutymi soubory pracuj POUZE pomoci funkci
is_uploaded_file() a move_uploaded_file(). Nic jineho NEPOUZIVEJ. Zadne cp!
(jednak z hlediska bezpecnosti, a pak z hlediska toho ze pak nevis co to
dela).

A znovu opakuji, RTFM !!!!!!
(read the fucking manual)

http://cz.php.net/manual/cs/features.file-upload.php
(tady to mas v cestine)

Tomas



----- Original Message ----- 
From: "Shamot" <shamot na kilian.no-ip.org>
To: <linux na linux.cz>
Sent: Monday, June 16, 2003 4:16 PM
Subject: Re: apache + php



Ahoj. tak jsem to zkousel. Ale proste nevim jakym zpusobem mam zjistit to,
ze
cesta zadana v promenne $foto je opravdu cesta k souboru, ktery je mozne
zkopirovat. Zkousel jsem podminku if  (is_uploaded_file($foto)), ktera je
ale
splnena pokazde kdyz $foto obsahuje alespon nejake znaky(neni prazdny).
A pak nevim cim to je, ale na jednom z tech pocitacu me to script zastavi
kdyz
ta cesta k souboru neexistuje a na druhem PC se tam ten soubor klidne jakoby
kopne a je tam s 0 velikosti.
Zatim pouzivam toto:

if (!@Copy($foto,"pics/".$fotoname)) {
echo "Chyba při nahrávání obrázku";
exit();
}

tak cim to je ? jak zjistim jestli ten soubor opravdu existuje ?


> Zdravim vas vsechny co tu diskutujete o tomto "problemu"
>
> Boze muj copak tady nikdo neumi pracovat s uploadnutymi soubory pres
> formular?
>
> tak zaprve, testovat hodnotu promenne (na empty string nebo na none) je
> naprosta blbost. Pouzijte funkci is_uploaded_file($vasVariabl);
>
> a zadruhe, prectete si PHP manual, kapitola 20: Handling file uploads
>
> a zatreti, hlavne nezapomente pouzit funkci move_uploaded_file(), ne ze
> budete kopirovat ten soubor z tempu :-)
>
>
> Tomas



Další informace o konferenci Linux