[PHP] POST

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Olimant 1. 2. 2011 21:42

Ahoj,
mám takovej problém. Mám fotogalerii kam se nahrávají fotky a při ukládání se zpracovávají. Uploadovat po jednom souboru je dost pracný, proto bych chtěl uploadovat po více souborech. Potřeboval bych aby se input name porad stejne jmenoval (napr. name="uploadfile") u vsech input file souborů. Pokud by to neslo tak bych to resil pomoci
Kód: Vybrat vše
if (isset ($_POST['inputfile'])){
...zpracovani obrazku...
}
if (isset ($_POST['inputfile2'])){
...zpracovani obrazku...
}
...

Rad bych to ale vyresil nejak elegantneji, aby se neopakoval stejny kod nekolikrat. Předem dekuju :-)
Kdo víno má a nepije, kdo hrozny má a nejí je, kdo ženu má a nelíbá, kdo zábavě se vyhýbá, na toho vemte bič a hůl, to není člověk, to je vůl.
Olimant
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 1. 2. 2011 21:57

name="inputfile[0]"
name="inputfile[1]"
co s tim dal predpokladam pochopis ne?
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod _ghost 1. 2. 2011 22:59

jen poopravim, ty obrazky kazdopadne nejsou v $_POST, ale jsou ve $_FILES ...
_ghost
Junior

Odeslat příspěvekod Vebloud 1. 2. 2011 23:58

Předpokladem o pochoepní bych si nebyl jistý. Docela hezký JQury plugin na multiple file upload je uplidify. Pohodlně ti pomůže vyřešit pár problémů s uploadem více souborů.
Žít a nechat žít, ty máš svůj názor, já mám svůj názor, já ti nebudu nutit svůj, nemusím souhlasit s tvým, ale udělám vše, abys ho mohl svobodně vyjádřit.
Vebloud
VIP uživatel
Uživatelský avatar

Odeslat příspěvekod karlos00x 2. 2. 2011 00:53

tak zase prece mu to nebudu psat slovo od slova, at se snazi :)
a jinak ano, odpovidal jsem jen a pouze na dotaz, protoze mame taky treba krasny SWFUpload :)
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod Olimant 6. 2. 2011 09:36

Díky za rady. Zkoušel jsem ten uploadify. Ten se me moc libi, jen mam problem, ze nevim jak docilit toho, aby data posílaný formulářem zpracovával taky můj script. Udělal jsem to podle How do i submit a form after the upload completes?, ale stejně se to jen uploadne do složky, která je uvedená v tom javascriptu, ale vubec se to neposle ke zpracování na můj script.
Mám to takhle:
Kód: Vybrat vše
<link href="/uploadify/uploadify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="/uploadify/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/uploadify/swfobject.js"></script>
<script type="text/javascript" src="/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('#file_upload').uploadify({
    'uploader'  : '/uploadify/uploadify.swf',
    'script'    : '/uploadify/uploadify.php',
    'cancelImg' : '/uploadify/cancel.png',
    'folder'    : '/obrazky',
    'auto'      : false,
    'fileDataName' : 'uploadfile',
    'multi'       : true,
    'queueSizeLimit' : 5,
    'onAllComplete' : function(event,data) {
      document.getElementByID('someForm').submit();
    }
  });
});
</script>
    </head>
    <body>
<form id="someForm" action="fotky/check_image.php" method="POST" enctype="multipart/form-data">
     <input type="text" name="username" /><br />
     <input type="text" name="novy_adresar" /><br />
<input id="file_upload" name="file_upload" type="file" /><br />
<input onclick="$('#file_upload').uploadifyUpload()" type="button" value="Submit" />
</form>
Kdo víno má a nepije, kdo hrozny má a nejí je, kdo ženu má a nelíbá, kdo zábavě se vyhýbá, na toho vemte bič a hůl, to není člověk, to je vůl.
Olimant
Junior
Uživatelský avatar

Odeslat příspěvekod Vebloud 6. 2. 2011 16:57

Vidíš v tom JS zdrojáku:
Kód: Vybrat vše
'script'    : '/uploadify/uploadify.php',

Tak tam místo ho uploadify.php dej script, který chceš, aby se staral nahrávání souborů, ale mrkni se do toho uploadify.php jak je to tam řešené, protože to přece jenom bude asi trochu jinak, než normální upload. Něják tam musí být pořešeno to přijetí předem neznámého počtu souborů.
Žít a nechat žít, ty máš svůj názor, já mám svůj názor, já ti nebudu nutit svůj, nemusím souhlasit s tvým, ale udělám vše, abys ho mohl svobodně vyjádřit.
Vebloud
VIP uživatel
Uživatelský avatar

Odeslat příspěvekod Olimant 6. 2. 2011 17:12

To jsem zkousel, ale neslo me to. Jeste to zkusim jednou poupravit. V tom uploadify.php to neresi, tam to je snad uplne nejjedonussi prijimani souboru jaky je.
Jsem myslel, ze bych si to stahl do pameti pomoci uploadify a potom to zpracoval tim mým check_image.php. Nebo proc jinak by tam nechavali ten action ve form?


// EDIT
Tak uz me to jde poslat, ale nejde me jedna, pro me velice dulezita funkce. Neposilaji se data poslany normalne $_POST. Problem je ten, ze obrazky nechci ukladat vsechny na jednu hromadu, ale pekne kazdej do jedny slozky a kam se maji ulozit chci zadat prave pri posilani souboru. Vubec netusim co mam blbe.

To ukladani mam reseny takhle:
Kód: Vybrat vše
   $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'];
        $dir = $targetPath  . '/' . $_POST['adresar'];
Zkousel jsem i $_REQUEST misto $_POST, ale bylo to stejny... Nějaký nápad, jak docílit toho aby se poslaly i data vlozeny do formulare? Diky
Naposledy upravil Olimant dne 6. 2. 2011 20:18, celkově upraveno 1
Kdo víno má a nepije, kdo hrozny má a nejí je, kdo ženu má a nelíbá, kdo zábavě se vyhýbá, na toho vemte bič a hůl, to není člověk, to je vůl.
Olimant
Junior
Uživatelský avatar

Odeslat příspěvekod Vebloud 6. 2. 2011 23:18

Obávám se, že ten flash, který zajišťuje posílání více souborů anjednou dělá tolik requestů, kolik je souborů naprosto nezávisle na tom, co je ve formu a vytváří si na ty soubory vlastí formy. Doporučuji studovat dokumentaci uploadify...
Žít a nechat žít, ty máš svůj názor, já mám svůj názor, já ti nebudu nutit svůj, nemusím souhlasit s tvým, ale udělám vše, abys ho mohl svobodně vyjádřit.
Vebloud
VIP uživatel
Uživatelský avatar

Odeslat příspěvekod Olimant 6. 2. 2011 23:27

Tam jsem to prave nejak moc nevycetl. Jestli jsem to pochopil dobre, by to co chci melo jit podle toho Jak odeslat pomocí formuláře (link je o 2 prispevky výš).
Kazdopadne jsem to zatim obesel tak, ze prvne otevru skript, kde si zvolim kam to chci ulozit a potom az volam upload_soubor s tim, ze $_POST['adresar'] vlozim primo do javascriptu '
Kód: Vybrat vše
folder'    : '<?php echo $_POST['adresar'] ?>',

Neni to tak pohodlne, ale taky celkem dobry.
Diky za snahu a hlavne za tip na uploadify ;-)
Kdo víno má a nepije, kdo hrozny má a nejí je, kdo ženu má a nelíbá, kdo zábavě se vyhýbá, na toho vemte bič a hůl, to není člověk, to je vůl.
Olimant
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků