Stránka 1 z 1

[PHP] POST

Odeslat příspěvekNapsal: 1. 2. 2011 21:42
od Olimant
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 :-)

Re: [PHP] POST

Odeslat příspěvekNapsal: 1. 2. 2011 21:57
od karlos00x
name="inputfile[0]"
name="inputfile[1]"
co s tim dal predpokladam pochopis ne?

Re: [PHP] POST

Odeslat příspěvekNapsal: 1. 2. 2011 22:59
od _ghost
jen poopravim, ty obrazky kazdopadne nejsou v $_POST, ale jsou ve $_FILES ...

Re: [PHP] POST

Odeslat příspěvekNapsal: 1. 2. 2011 23:58
od Vebloud
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ů.

Re: [PHP] POST

Odeslat příspěvekNapsal: 2. 2. 2011 00:53
od karlos00x
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 :)

Re: [PHP] POST

Odeslat příspěvekNapsal: 6. 2. 2011 09:36
od Olimant
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>

Re: [PHP] POST

Odeslat příspěvekNapsal: 6. 2. 2011 16:57
od Vebloud
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ů.

Re: [PHP] POST

Odeslat příspěvekNapsal: 6. 2. 2011 17:12
od Olimant
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

Re: [PHP] POST

Odeslat příspěvekNapsal: 6. 2. 2011 23:18
od Vebloud
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...

Re: [PHP] POST

Odeslat příspěvekNapsal: 6. 2. 2011 23:27
od Olimant
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 ;-)