Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Slanje fajla kroz web formu???

[es] :: PHP :: Slanje fajla kroz web formu???

[ Pregleda: 4851 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mika
NBG-ML

Član broj: 55
Poruke: 640
*.net.yu



+1 Profil

icon Slanje fajla kroz web formu???23.04.2001. u 13:28 - pre 230 meseci
Pozdrav svima.
Imam jedan problem:kako da posaljem fajl kroz formu? Naime, formu i polje sam deklarisao na sledeci nacin:

<form enctype="multipart/form-data" method="post" action="obrada.php3">

<input type=file accept=image/jpeg name="slika">

<input type=submit value="posalji">
</form>

...i sad, kad pristupim strani obrada.php3 u sourceu koji generise strana obrada.php3 pojavi se neko budjavo ime fajla i putanja sa ekstenzijom .tmp (tipa "C:\WINDOWS\TEMP\tmp22343php.tmp") a ne recimo .jpg ili .gif i putanja koju sam inicijalno uneo. Da li je to zato sto mi se php izvrsava na localhostu i kako se to prevazilazi??? Da li bi generisano ime fajla bilo u redu ako bi mi se script izvrsavao na nekoj drugoj masini a ne na localu????
Molim vas odgovorite jer sam izginuo nocas a nisam provalio kako se to radi!!!! (malo je falilo da radi cekic po monitoru) :(((((((((
Ako ne moze na taj nacin, onda koji su alternativni nacini slanja fajlova preko web forme(preko emaila ili nekako drugacije)?

Unapred zahvalan.
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

naum
Aleksandar Naumovic
web developer
Beograd

Član broj: 271
Poruke: 30
212.124.184.*

ICQ: 66744201
Sajt: www.e-motion.co.yu


Profil

icon Re: Slanje fajla kroz web formu???23.04.2001. u 14:02 - pre 230 meseci
Citat:
mika wrote:
<form enctype="multipart/form-data" method="post" action="obrada.php3">

<input type=file accept=image/jpeg name="slika">

<input type=submit value="posalji">
</form>

pojavi se neko budjavo ime fajla i putanja sa ekstenzijom .tmp (tipa "C:\WINDOWS\TEMP\tmp22343php.tmp")


Ideja je da php pokupi fajl i snimi ga u temporary. Ako hoces da fajl dobijes na serveru, moras da kreiras novi i da prekopiras u njega sadrzaj ovog temporary. (na taj nacin funkcionise i na linuxu.

Citat:

Ako ne moze na taj nacin, onda koji su alternativni nacini slanja fajlova preko web forme(preko emaila ili nekako drugacije)?

Unapred zahvalan.


alternativa je slanje forme putem maila... action="mailto:...." ako se ne varam
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.net.yu



+1 Profil

icon Re: Slanje fajla kroz web formu???24.04.2001. u 09:13 - pre 230 meseci

OK, to je sve u redu i sljaka, samo sto ja ne znam kako da prihvatim taj fajl, tj. kad startujem explorer da probam da ga iskopiram, PHP je vec izbrisao taj tmp fajl (pretpostavljam da treba da se prihvati u skriptu i da se iz skripta direktno kopira negde drugde).

E sad, kako da ga prihvatim u skriptu??? mislim, da li postoji komanda u php-u tipa copy (ime_fajla1,ime_fajla) ili tako nesto???

Unapred zahvalan.


Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.udd.htu.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: Re: Slanje fajla kroz web formu???24.04.2001. u 12:13 - pre 230 meseci
Miko,
nemoj da se ljutis, ali MORAS da naucis da citas PHP dokumentaciju... Dakle bez ljutnje to sto pitas u PHP manualu je TAKO LEPO objasnjeno da zaista ne razumem zasto te mrzi da procitas taj deo o upload-u fajlova pomocu PHP-a...

Da te uputim - idi na www.php.net, skini manual (imas u vise razlicitih formata - preporucujem ti da skines ZIP fajl sa HTML-ovima) i procitaj deo koji se nalazi u "Features" delu manuala i koji se zove "Chapter 19. Handling file uploads"

Taj manual je MUST TO READ za sve ljude koji nameravaju da se bave PHP-om!

Evo deo koji prica o onome sto ti pitas:


KOD1:
Code:

<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <INPUT NAME="userfile" TYPE="file">
<INPUT TYPE="submit" VALUE="Send File">
</FORM>



KOD2:
Code:

<?php 
if (is_uploaded_file($userfile)) {
    copy($userfile, "/place/to/put/uploaded/file");
} else {
    echo "Possible file upload attack: filename '$userfile'.";
}
/* ...or... */
move_uploaded_file($userfile, "/place/to/put/uploaded/file");
?>



KOD3 (starije verzije PHP-a):
Code:

<?php 
/* Userland test for uploaded file. */ 
function is_uploaded_file($filename) {
    if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
        $tmp_file = dirname(tempnam('', ''));
    }
    $tmp_file .= '/' . basename($filename);
    /* User might have trailing slash in php.ini... */
    return (ereg_replace('/+', '/', $tmp_file) == $filename);
}

if (is_uploaded_file($userfile)) {
    copy($userfile, "/place/to/put/uploaded/file");
} else {
    echo "Possible file upload attack: filename '$userfile'.";
}
?>



Citat:
mika wrote:

OK, to je sve u redu i sljaka, samo sto ja ne znam kako da prihvatim taj fajl, tj. kad startujem explorer da probam da ga iskopiram, PHP je vec izbrisao taj tmp fajl (pretpostavljam da treba da se prihvati u skriptu i da se iz skripta direktno kopira negde drugde).

E sad, kako da ga prihvatim u skriptu??? mislim, da li postoji komanda u php-u tipa copy (ime_fajla1,ime_fajla) ili tako nesto???

Unapred zahvalan.



Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.net.yu



+1 Profil

icon OK24.04.2001. u 14:43 - pre 230 meseci

Prvo, vrlo sam Vam zahvalan na iscrpnom odgovoru. To za dokumentaciju je stvarno na mestu i prihvatam sve kritike.Procitao bih ja to, samo mi je ovaj posao iskrsao hitno i trebalo mi je -INSTANT- resenje SAMO ZA DANAS!!! (Kostur programa koji je upotrebljiv za danas, ne i za sutra-jednostavno samo demonstracija rada)

Kritiku sam shvatio i upravo skidam commented manual sa php.net i sledecih 10 dana (i noci) provodim na citanju!!!

10x a lot.

PHP rulez!
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

[es] :: PHP :: Slanje fajla kroz web formu???

[ Pregleda: 4851 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.