PHP UPLOAD

1

PHP UPLOAD

offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

Pravim sajt za uploadovanje.
Napravio sam ovo:

Upload.php
<?php $target = "upload/"; $target = $target . basename( $_FILES['uploaded']['name']) ; $ok=1; if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else { echo "Sorry, there was a problem uploading your file."; } ?>


I napravio sa formu:
<form enctype="multipart/form-data" action="upload.php" method="POST"> <input name="uploaded" type="file" /> <input type="submit" value="Upload" />&nbsp; </form>

Sve sljaka ok ali imam problem.
E sad kako da napravim limit na da ne moze neko da uploaduje stvar od 100mb nego samo od 15mb.
Kako da na kraju uploadovanja napise adresu njegovog fajla npr. imesajta.com/upload/njegov fajl

Hvala vam unapred!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

U funkciji imas dva parametra:
1. Lokacija ucitanog fajla
2. Destinacija fajla koji si upload-ovao na server/folder

http://php.net/manual/en/function.move-uploaded-file.php

Pogledaj sta je u "tvom" primeru destinacija i kako joj se dodeljuje ime i shvatices kako da dobijes putanju.

Za velicinu prouci funkciju filesize (php manual)

Wink



offline
  • Pridružio: 08 Jan 2010
  • Poruke: 101

filesize je za velicinu lokalnog fajla, treba da koristi $_FILES['uploaded']['size'] sto ce ti dati velicinu fajla u bajtovima, pa sad ti vidi koliko ces da dozvolis da uploaduje.

evo ti par linkova koje bih ti preporucio da prelistas:
php.net/manual/en/features.file-upload.php
w3schools.com/php/php_file_upload.asp

takodje da napomenem da ako fajlove cuvas u direktorijum i kasnije dajes korisniku direktnu putanju do fajla, da OBAVEZNO vodis racuna koje ekstenzije dozvoljavas da budu uploadovane.
takodje bi trebalo da vodis racuna o podudaranju imena fajlova. npr neko kaci slika.jpg, a taj fajl vec postoji.
dosta problema bi ti resilo da fajlove upisujes u bazu. pogledaj ovaj link:
php-mysql-tutorial.com/wikis/php-tutori.....g-php.aspx

offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

Ljudi hvala vam na linkovima i objasnjenjima.Zana li neko zasto mi server kada uploadujem nesto postavi ovo:

Notice: Undefined index: uploadedfile in /www/zxq.net/w/w/w/www3/htdocs/upload.php on line 8 The file has been uploaded

To izbacuje uvek ne znam zasto.

I jos nesto ne mogu da nadjem ni na jedni linku da nadjem ono za put fajla koji je uploadovan imesajta.com/upload/njegov

offline
  • Pridružio: 08 Jan 2010
  • Poruke: 101

ispisuje ti gresku jer svugde koristis $_FILES['uploaded'] a u liniji:
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";koristis $_FILES['uploadedfile']

a odgovor na drugo pitanje...
link se sastoji od: sajt + putanja upload direktorijuma + ime fajla
sajt valjda znas
putanja upload direktorijuma ($target = "upload/"; )
ime fajla je u promenljivoj: $_FILES['uploaded']['name']
spoji ta tri stringa i imas putanju do fajla ("http://imesajta.com/upload/".$_FILES['uploaded']['name'])

offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

Hvala ti milose po drugi put.Razbijas PHP!!! Wink

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3747
  • Gde živiš: 127.0.0.1

Kole888 ::E sad kako da napravim limit na da ne moze neko da uploaduje stvar od 100mb nego samo od 15mb.

PHP ima limit u php.ini vezan za velicinu uploadovanog fajla (max_upload_size) koji je ispod 10 MB (ne secam se tacno, uvek to promenim odmah).

To podesavanje mozes da menjas samo na localhostu, VPS-u i dedicated serveru.

offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

Milose kako da napravim da posle uploadovanja sajt prikaze
velicinu fajla

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3747
  • Gde živiš: 127.0.0.1

Za to postoji funkcija filesize() Smile

Samo sto ona vraca velicinu u bajtovima, ako ti treba B/KB/MB/GB velicina, onda moras da pises novu funkciju:

function roundsize($file) {    $size = filesize($file);    if ($size <= 1024) {       $size .= " b";    }    elseif ($size <= 1048575) {       $size = round($size / 1024,2);       $size .= " KiB";    }    elseif ($size <= 1073741823) {       $size = round($size / 1048576,2);       $size .= " MiB";    }    else {       $size = round($size = $size / 1073741824,2);       $size .= " GiB";    }    return $size; }

offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

Napisano: 09 Feb 2010 20:55

Hvala puno

Dopuna: 11 Feb 2010 23:29

Kako da napravim da moze da se klikne na ovo???
Treba mi hitno!
echo "Adresa: http://imesajta/file/".basename("http://imesajta/file/.$_FILES['uploaded']['name'])."";

Ko je trenutno na forumu
 

Ukupno su 586 korisnika na forumu :: 13 registrovanih, 1 sakriven i 572 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: bigfoot, darkojbn, draggan, dragoljub11987, kybonacci, MilosKop, Mixelotti, nemkea71, Nikolaa11, nuke92, pein, saputnik plavetnila, vlad4