Vlastní stand-alone script pro multiple upload

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
D4rk
Člen | 6
+
0
-

Zdravím,
používám Nette 2.0.10, PHP 5.3 a snažím se vytvořit script, který bude zpracovávat následující formulář

<form name="uploads" method="post" action="php/upload-page.php" enctype="multipart/form-data">
				<input name="nazev" placeholder="Název alba">
  <input name="filesToUpload[]" id="filesToUpload" type="file" multiple="" onchange="makeFileList();" />
  <input type=submit>
</form>

(script který se volá on change pouze vypisuje vybrané soubory)

Soubory které se nahrávají na server chci uložit ve tří kvalitách do různých složek. Zatím jsem vytvořil toto

<?php
require_once "nette.min.php";
use Nette\Image;
use Nette\DI\Container;
use Nette\Http;
use Nette\Diagnostics\Debugger;

Debugger::enable(); // aktivujeme Laděnku

$configurator = new Nette\Config\Configurator;
$configurator->setTempDirectory(__DIR__ . '/temp');
$container = $configurator->createContainer();
$httpRequest = $container->httpRequest;

$files = $httpRequest->getFiles();

foreach($files["filesToUpload"] as $file)
{

 if($file->isImage())
 {
	$name = $file->getSanitizedName();

 	//$file->move(__DIR__'../fotky/novinka/'.$name);
 	$image = $file->toImage();

 	$mini  = $image;
 	$web   = $image;

 	$web->resize(723, null);
 	//$web->send();

 	$mini->resize(100,100);
 	$web->save(__DIR__'../fotky/novinka/'.$web_name);

	//$web_name = str_replace(".","_web.",$name);
	//ECHO __DIR__'../fotky/B5A_2011/'.$web_name;
// 	$web->save(__DIR__'../fotky/B5A_2011'.$web_name);


 }else
 echo "hello";
 }
?>

To co zatím mám by mělo ukládat nahrané obrázky do složky novinka v kvalitě 723× dopočítaný rozměr. Bohužel se neděje nic (laděnka nic nehlásí, nic se nikam neuloží). Vím však, že se nahrané obrázky do scriptu dostanou, když použiju send, vrátí se mi do prohlížeče zmenšený obrázek. Výpis $files[„filesToUpload“] skutečně obsahuje všechny vybrané obrázky.
Budu rád za všechny rady či připomínky.

David Matějka
Moderator | 6445
+
0
-

nemas tam definovanou tu promennou $web_name

D4rk
Člen | 6
+
0
-

facepalm, dík

D4rk
Člen | 6
+
0
-

ale je zvláštní že mi to nic nenahlásilo, navíc když za podmínkou isImage nechám jen

$name = $file->getSanitizedName();
$file->move(__DIR__'../fotky/novinka/'.$name);

tak stále nic nedělá (žádná chyba nic).

jiri.pudil
Nette Blogger | 1032
+
0
-
$file->move(__DIR__ . '/../fotky/novinka/' . $name);
Filip Procházka
Moderator | 4668
+
0
-

Doporučil bych místo vlastního scriptu vytvořit signál a zpracovávat soubory v něm.