collapse

* Uživatelský panel

 
 
Vítejte Host. Prosím přihlašte se nebo zaregistrujte.

* Chatovací okno

Obnovit Historie
  • K Vašim službám...
  • Lamin: Existuje taková věc ... panty na dveřích se dají převrtat a budou pasovat do futer :-) takto jsem to řešil u bratra na bytě
    07. 11. 2017 v 18:25:38
  • juta: Čau, kdybych si chtěl koupit nové, obyčejné interiérové dveře v nějakým marketu, tak mi budou pasovat do futer do starých pantů, nebo se už společně s tím musí koupit nové futra? :D Díky :D
    06. 11. 2017 v 16:48:06
  • Lamin: Já jsem volit byl ... a jak začali ukazovat předběžné výsledky ... docela jsem se zhorzil
    25. 10. 2017 v 17:23:10
  • airslava: [odkaz]
    23. 10. 2017 v 08:53:22
  • airslava: no asi by si vice cechu melo rozsirit obzory :)
    23. 10. 2017 v 08:53:07
  • juta: Nechápu voliče ANO, že dali hlas někomu kdo je trestně stíhaný :P :D
    22. 10. 2017 v 14:38:43
  • numero528: Co říkáte na výsledky voleb? Jste spokojeni? Byli jste volit?¨
    21. 10. 2017 v 22:56:48
  • numero528: ero shop? :D
    21. 10. 2017 v 22:56:03
  • Lamin: Nee :D už je to zaměřené na něco úplně jiného :D
    21. 10. 2017 v 13:01:31
  • airslava: jen si zmenil eshop jo? :D Tak at se dari :)
    03. 10. 2017 v 22:07:26
  • Lamin: Děkuji. Stále se jedná o programátora :
    01. 10. 2017 v 09:54:12
  • airslava: taky preju :) o co se jedna?
    30. 09. 2017 v 13:59:59
  • numero528: Tak Ať se ti tam daří.. ;)
    28. 09. 2017 v 09:38:46
  • Lamin: A u mě se blíží nová práce v Brně
    24. 09. 2017 v 18:10:47
  • numero528: A léto je v prdxxi... Zdravím Vás.. ;)
    23. 09. 2017 v 08:23:06
  • Lasičák: Příště zabetonovat nožky  :sasek:
    09. 09. 2017 v 16:33:57
  • Lamin: Nesmíš ji dělat tak pěknou ... pak se zalíbí a je fuč
    30. 08. 2017 v 18:28:43
  • juta: Si jí někdo vzal domů, kdyby jí zničili, tak by tam něco zůstalo, ale nikde nic  :-X
    30. 08. 2017 v 17:19:24
  • airslava: Tak to ses dobrej, zes neco takovyho vyrobil a hlavne s takovym dobrym cilem... bohuzel lidi jsou svine no... mohli to i znicit naci vozrali vandalove
    29. 08. 2017 v 09:14:45
  • Lamin: Si děláš srandu, ne?
    29. 08. 2017 v 07:11:38
  • juta: vyrobíte lavičku, dáte jí za vesnici na místo s pěkným výhledem u polní cesty, měla sloužit všem, vydrží tam dva měsíce a stejně jí někdo nakonec ukradne... a to jsem myslel, že zrovna u nás takoví lidi nejsou :-/
    27. 08. 2017 v 19:49:05
  • airslava: dost udelal warez a upadek v soutezich bych rekl :)
    02. 08. 2017 v 19:15:14
  • Lasičák: Asi hlavně ta možnost Bé, facebook byl totiž i předtím :) pokud se nepletu
    01. 08. 2017 v 17:25:29
  • juta: Zdar jak sviňa, njn, facebook a stáří dělá své :-)
    01. 08. 2017 v 15:19:07
  • Lasičák: docela mě mrzí, že to tu tak utichlo   :(
    31. 07. 2017 v 20:20:14
  • airslava: cau ;)
    31. 07. 2017 v 14:13:16
  • numero528: Zdarec.. ;)
    31. 07. 2017 v 05:28:40
  • Lasičák: Buďte zdrávy
    30. 07. 2017 v 10:56:30
  • Lamin: Avast
    26. 07. 2017 v 10:26:30
  • brahma: eset
    23. 07. 2017 v 22:42:47

* Poslední články

* Náhodné fotografie

Hodiny

Hodnocení: (prázdné)
Zobrazení: 1941
Datum: 13.02.2010 19:32:46
Komentář: (2)
Od: Vicarious
Odlet

Hodnocení: *****
Zobrazení: 1866
Datum: 23.01.2011 19:31:25
Komentář: (9)
Od: Storm7

Autor Téma: upload souboru v php  (Přečteno 4902 krát)

Offline Fany


  • maxi Krocan
  • *

  • Příspěvků: 799
  • 22526 zlatých
  • Poslat zlaťáky
  • Karma: 37

  • Aktivita za 30 dní:
    0%
    • Ocenění
upload souboru v php
« kdy: 09. 06. 2008 v 11:56:16 »
zdravim mistry sveho oboru ;)
potreboval bych na svoje stranky dat "skript" na uploadovani souboru, na netu je nepreberne mnozstvi takovychto "kódů" ale zajimal by me vas nazor, respektive ktery by ste doporucili...neboli jestli mate nejaky osvedceny ktery pouzivate... mel by byt co nejvice flexibilni aby sli nahravat skoro jakakoliv data, ale jde mi hlavne o nahravani obrazků, takze to zas az tak horky nejni... kdyz budete mit nejaky link nebo neco, tak ho sem hodte (do code) ze bych na to mrknul, diky moc vsem za nazory... ;)

MaXiForum.cz

upload souboru v php
« kdy: 09. 06. 2008 v 11:56:16 »

Offline Fany


  • maxi Krocan
  • *

  • Příspěvků: 799
  • 22526 zlatých
  • Poslat zlaťáky
  • Karma: 37

  • Aktivita za 30 dní:
    0%
    • Ocenění
Re: upload souboru v php
« Odpověď #1 kdy: 12. 06. 2008 v 20:49:02 »
pls, nikdo nic? :(

Offline Draffix Mužské


  • maxi V.I.P.
  • *

  • Příspěvků: 1135
  • 4612 zlatých
  • Poslat zlaťáky
  • Karma: 26

  • Aktivita za 30 dní:
    0%
    • Nashville Predators
    • Ocenění
Re: upload souboru v php
« Odpověď #2 kdy: 17. 07. 2008 v 19:07:05 »
zkus se mrknout na
Kód: [Vybrat]
www.jaknaweb.com a tam do scriptu, měl by tam být i script na uploadovaní obrázku ;)

//rastahalda: linky do CODE

Abrams

  • Host
Re: upload souboru v php
« Odpověď #3 kdy: 18. 07. 2008 v 18:58:13 »
To je jednoduchý nahrávat soubory na server přes PHP. Potřebuješ jen formulář s input type="file" a name="nazev".
Potom už ti stačí jen skript na pár řádečků.

if(is_uploaded_file($_FILES['nazev']['tmp_name']))             // kontroluje zda je soubor nahrán přes http
    {
    $filename = $_FILES['nazev']['name'];                  // nastavuje nazev souboru k ulozeni na server
    $move = copy($_FILES['nazev']['tmp_name'], "cesta/$filename");        // uklada soubor
    }

      if($move!=1)
      { print "<font color=\"#ff0000\">Soubor se nepodařilo uložit na server!</font>
"; }

              else
               { print "Soubor " .$_FILES['nazev']['name'] ." byl uložen
"; }


Celý skript na pouhé nahrání je vlastně jen na dva řádky. Já ho tu malinko rozvedl, avšak často se tyto skripty rozvádí ještě mnohem více. Já například kontroluji formát nahrávaných souborů a u obrázků z nich vytvářím miniatury, přejmenovávám je a upravuji jejich velikosti.
Dej si však pozor! Můžeš nahrávat jen soubory o maximální velikosti, která je určena direktivou upload_max_filesize v php.ini na PHP serveru (výchozí jsou 2MB).

Postupů je samozřejmě více, já používal naposledy tento. Vyznáš-li se v PEAR můžeš využít pro nahrávání souborů balíček HTTP_Upload.

Offline Draffix Mužské


  • maxi V.I.P.
  • *

  • Příspěvků: 1135
  • 4612 zlatých
  • Poslat zlaťáky
  • Karma: 26

  • Aktivita za 30 dní:
    0%
    • Nashville Predators
    • Ocenění
Re: upload souboru v php
« Odpověď #4 kdy: 19. 07. 2008 v 22:31:45 »
nejsem si jist ale to je upload z nějakých stránek ne? Pokud by chtěl něco uploadovat dejme tomu ze svého PC tak to bude o něco složitější, navíc by to chtělo mrknout se na mysql aby se to mělo kam ukládat ale nejsem si jist jestli sem ten tvůj script pochopil správně :/

Offline pk16011990 Mužské

  • maxi Veterán
  • *

  • Příspěvků: 3753
  • 50000 zlatých
  • Poslat zlaťáky
  • Karma: 192

  • Aktivita za 30 dní:
    0%
  • Ocenění Udělován za znalosti webů či majitelům úspěšných webů. Counter Strike sponzor Uděluje se za časté dovolenkování se. Uděluje se za vypití jedné bečky piva v průběhu jednoho víkendu.
    • Ocenění
Re: upload souboru v php
« Odpověď #5 kdy: 19. 07. 2008 v 22:32:27 »
         if ($_FILES["userfile"]['error'] > 0 && isset($_FILES["userfile"]))
          {
            $s = "Během nahrávání obrázku ";
            switch ($_FILES["userfile"]['error'])
            {
              case 1: $s .= "přesáhla jeho velikost upload_max_filesize. Zmenšete jej nebo kontaktujte administrátora."; break;
              case 2: $s .= "přesáhla jeho velikost max_file_size. Zmenšete jej nebo kontaktujte zprávce webu."; break;
              case 3: $s .= "byl soubor uložen jen částečně a pravděpodobně nebude zobrazován správně."; break;
              case 4: $s .= "došlo k závažné chybě. Soubor nebyl nahrán."; break;
            }
            $chyba .= $s."
";
          }else{
            if ( !(strpos(strtolower($_FILES["userfile"]['type']), 'jpeg') ||
                   strpos(strtolower($_FILES["userfile"]['type']), 'jpg')))
            {
              $chyba .= "Zadaný soubor není typu *.jpeg.
";
            }else{
              $upfile = 'data/img/novy_nazev.jpg';                                   // kam se daná soubor má uložit
              if (is_uploaded_file($_FILES["userfile"]["tmp_name"]))
              {
                if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $upfile))
                {
                  echo "nahrání bylo úspěšné";
                }else{
                  $chyba .= "Nelze umístit obrázek do požadovaného adresáře.";
                }             
              }else{
                $chyba .= "Chyba... Soubor je podezřelí z útoku.";
              }
            }

Tady toto používám já...je to jen na JPEGy, ale když si to dáš do funkce, tak by se to dalo upravit, že by jsi předával pole s mime typy, které lze povolit... Je tady odchytnuta asi tak většina chyb, které mohou při uploadu nastat...

Offline pk16011990 Mužské

  • maxi Veterán
  • *

  • Příspěvků: 3753
  • 50000 zlatých
  • Poslat zlaťáky
  • Karma: 192

  • Aktivita za 30 dní:
    0%
  • Ocenění Udělován za znalosti webů či majitelům úspěšných webů. Counter Strike sponzor Uděluje se za časté dovolenkování se. Uděluje se za vypití jedné bečky piva v průběhu jednoho víkendu.
    • Ocenění
Re: upload souboru v php
« Odpověď #6 kdy: 19. 07. 2008 v 22:35:14 »
nejsem si jist ale to je upload z nějakých stránek ne? Pokud by chtěl něco uploadovat dejme tomu ze svého PC tak to bude o něco složitější, navíc by to chtělo mrknout se na mysql aby se to mělo kam ukládat ale nejsem si jist jestli sem ten tvůj script pochopil správně :/

Není to upload z jiného webu... je to opravdu od klienta...ale nepoužívá standardní funkci pro přesun uploadovaného souboru move_uploaded_file() a není tam toho moc ošetřeno... je to takový hodně krátky způsob, který avšak funguje ;) (asi, nezkoušel jsem)

Offline Draffix Mužské


  • maxi V.I.P.
  • *

  • Příspěvků: 1135
  • 4612 zlatých
  • Poslat zlaťáky
  • Karma: 26

  • Aktivita za 30 dní:
    0%
    • Nashville Predators
    • Ocenění
Re: upload souboru v php
« Odpověď #7 kdy: 19. 07. 2008 v 22:43:13 »
no právě jsem si říkal že tam toho je nějak málo. Nevím no, ja téměř všechno dělám přes mysql, to znamená že když uploaduju soubor přidávám unikátní hodnotu kterou pak ukládám do mysql a poté je zase tahám zpátky což je pro mě jednodušší ale zase na druhou stranu kdo si chce hrát ještě s tabulkama :D

Offline pk16011990 Mužské

  • maxi Veterán
  • *

  • Příspěvků: 3753
  • 50000 zlatých
  • Poslat zlaťáky
  • Karma: 192

  • Aktivita za 30 dní:
    0%
  • Ocenění Udělován za znalosti webů či majitelům úspěšných webů. Counter Strike sponzor Uděluje se za časté dovolenkování se. Uděluje se za vypití jedné bečky piva v průběhu jednoho víkendu.
    • Ocenění
Re: upload souboru v php
« Odpověď #8 kdy: 19. 07. 2008 v 22:46:50 »
do databáze to je pěkné...a někdy potřebné... ale většinou (pokud to nejsou nějaké citlivé data), tak se to do MySQL "nepere"... Když si představím celý katalog s tisíci položkami a u každého cca 3 obrázky, tak by mi moje 50 MB DB nevydržela xD... Každopádně, dalo by se to případně upravit, aby to šlo rovnou do databáze ;)

Offline Draffix Mužské


  • maxi V.I.P.
  • *

  • Příspěvků: 1135
  • 4612 zlatých
  • Poslat zlaťáky
  • Karma: 26

  • Aktivita za 30 dní:
    0%
    • Nashville Predators
    • Ocenění
Re: upload souboru v php
« Odpověď #9 kdy: 19. 07. 2008 v 22:50:43 »
no právě že já to potřebuji abych si to zpřehlednil. Tak jasně, kdyby toho bylo fakt nějak moc (řekněme kdybych tam měl ukládat celé profily uživatelů i fotkama) tak bych si to taky radši házel na server než do DB ale tak já doufám že Fany do MySql lézt nebude ať toho nemá ještě více :D

Abrams

  • Host
Re: upload souboru v php
« Odpověď #10 kdy: 20. 07. 2008 v 11:10:02 »
              if (is_uploaded_file($_FILES["userfile"]["tmp_name"]))
              {
                if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $upfile))
                {
                  echo "nahrání bylo úspěšné";
                }else{
                  $chyba .= "Nelze umístit obrázek do požadovaného adresáře.";
                }             
              }

Jen dodám k tvému kódiku, že pokud k překopírování souboru z dočasného nahravácího adresáře do cílového používáš funkci move_uploaded_file. Tak ta podmínka nad tim je naprosto zbytečná.

is_uploaded_file kontroluje zda se opravdu jedná o soubor a o soubor nahraný přes http (metodou http post php). U toho move_uploaded_file to zkontroluje přesně stejně a z toho vyhodnotí, zda to opravdu nahraje nebo vrátí false :-)
« Poslední změna: 20. 07. 2008 v 11:11:31 od Abrams »

Abrams

  • Host
Re: upload souboru v php
« Odpověď #11 kdy: 20. 07. 2008 v 11:31:40 »
Můj způsob co jsem poslal určitě funguje  ;)
Poslal jsem jen na co byl dotaz - na nahrávací mechanizmus, protože to je podle mě někdy víc než tu šířit nějaký pekla pro toho kdo se ptá. Pokud chcete vidět peklo tak já vám pošlu kompletní skript co jsem dělal pro jedno anime fórum.


<form action="<?php print $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
Fotografie z disku:
<input type="file" size="30" name="fotka" value="" style="border-color: #000" />
<input type="submit" name="submit" value="Uložit obrázek" />
<input type="submit" name="rewrite" value="Přepsat obrázek" />
</form>

<?php

$kontrola = TRUE;

 if($_FILES['fotka']!="")
  {
    if(isset($_POST['submit']))
     {
     $handle=opendir("anime");

      while (($file = readdir($handle))!=false)
      {
   if($file == $_FILES['fotka']['name'])
   {
   echo "<font color=\"#ff0000\">Obrázek s tímto názvem se na serveru již existuje!</font>
";
   $kontrola = FALSE;
   }
      }

     closedir($handle);
     }


   if((is_uploaded_file($_FILES['fotka']['tmp_name']))&&($kontrola))
    {
    $filename = $_FILES['fotka']['name'];
    $move = copy($_FILES['fotka']['tmp_name'], "anime/$filename");
    }
      if($move!=1)
      { echo "<font color=\"#ff0000\">Obrázek se nepodařilo uložit na server!</font>
"; }
      else
      {
       //vytvoření fotky a její miniatury

       list($jmeno, $koncovka) = explode(".", $filename);
      
       if(($koncovka=="jpg")||($koncovka=="jpeg")||($koncovka=="JPEG")||($koncovka=="JPG"))
       { $image = imagecreatefromjpeg("anime/$filename"); }

       if(($koncovka=="gif")||($koncovka=="GIF"))
       { $image = imagecreatefromgif("anime/$filename"); }

       if(($koncovka=="png")||($koncovka=="PNG"))
       { $image = imagecreatefrompng("anime/$filename"); }
      
       $x = imagesx($image);
       $y = imagesy($image);

       $width = $x/100;
       $height = $y/100;

       $max = max($width, $height);

       $newwidth = $x/$max;
       $newheight = $y/$max;

       $copy = imagecreatetruecolor(100, 100);

       if($newwidth<100) {$dalka = round((100-$newwidth)/2);} else {$dalka = 0;}
       if($newheight<100) {$vyska = round((100-$newheight)/2);} else {$vyska = 0;}
       imagecopyresized($copy, $image, $dalka, $vyska, 0, 0, $newwidth, $newheight, $x, $y);
      
       $mini = $jmeno ."_mini." .$koncovka;

       if(($koncovka=="jpg")||($koncovka=="jpeg")||($koncovka=="JPEG")||($koncovka=="JPG"))
       { imagejpeg($copy, "anime/minis/$mini", 100); }
       if(($koncovka=="gif")||($koncovka=="GIF"))
       { imagegif($copy, "anime/minis/$mini", 100); }
       if(($koncovka=="png")||($koncovka=="PNG"))
       { imagepng($copy, "anime/minis/$mini", 100); }

       echo "Obrázek " .$_FILES['fotka']['name'] ." byl uložen
";
      }
  }

 ?>

Ještě většinou používám, zmenšení fotky se zachovaným poměrem stran (na výšku, na šířku) na 800x600 respektive 600x800 kvůli velikosti nahrávaných obrázků, ale zde chtěli zachovat jejich celé velikosti.

//vytvoření fotky 800x600 nebo 600x800
$width = $x/800;
$height = $y/800;

$max = max($width, $height);

$newwidth = $x/$max;
$newheight = $y/$max;

$copy = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($copy, $image, 0, 0, 0, 0, $newwidth, $newheight, $x, $y);
imagejpeg($copy, "../fotogalerie/Photos/$filename", 100);

MaXiForum.cz

Re: upload souboru v php
« Odpověď #11 kdy: 20. 07. 2008 v 11:31:40 »

 

Programy pro editaci PHP Souborů

Založil Lamin

Odpovědí: 6
Zhlédnutí: 3572
Poslední příspěvek 26. 06. 2010 v 07:05:12
od pk16011990
Multi upload

Založil Gory

Odpovědí: 5
Zhlédnutí: 2571
Poslední příspěvek 28. 03. 2010 v 17:33:42
od Program
Ajax upload

Založil lopik

Odpovědí: 3
Zhlédnutí: 1279
Poslední příspěvek 23. 12. 2011 v 18:48:09
od fu.cz