Example #1
0
 * 2. Copy this file and handler.php to your server.
 *
 * 3. Ensure your php.ini file contains appropriate values for
 *    max_input_time, upload_max_filesize and post_max_size.
 *
 * 4. Ensure your "chunks" and "files" folders exist and are writable.
 *    "chunks" is only needed if you have enabled the chunking feature client-side.
 */
// Include the upload handler class
require "handler.php";
$uploader = new UploadHandler();
// Specify the list of valid extensions, ex. array("jpeg", "xml", "bmp")
$uploader->allowedExtensions = array();
// all files types allowed by default
// Specify max file size in bytes.
$uploader->sizeLimit = 10 * 1024 * 1024;
// default is 10 MiB
// Specify the input name set in the javascript.
$uploader->inputName = "qqfile";
// matches Fine Uploader's default inputName value by default
// If you want to use the chunking/resume feature, specify the folder to temporarily save parts.
$uploader->chunksFolder = "chunks";
$method = $_SERVER["REQUEST_METHOD"];
if ($method == "POST") {
    header("Content-Type: text/plain");
    // Call handleUpload() with the name of the folder, relative to PHP's getcwd()
    $result = $uploader->handleDelete("files");
    echo json_encode($result);
} else {
    header("HTTP/1.0 405 Method Not Allowed");
}
Example #2
0
 public function handleUploadReciever()
 {
     //ob_start();
     $uploader = new \UploadHandler();
     $uploader->allowedExtensions = ["jpeg", "jpg", "png", "gif"];
     $uploader->chunksFolder = __DIR__ . '/../../www/chunks';
     $name = Nette\Utils\Strings::webalize($uploader->getName(), '.');
     //TODO: picture optimalization (?)
     $result = $uploader->handleUpload(__DIR__ . '/../../../www/uploads', $name);
     try {
         $picture = $this->pictures->findOneBy(['uuid' => $uploader->getUuid()]);
         if (!$picture) {
             //FIXME: toto není optimální (zejména kvůli rychlosti)
             $picture = new Entity\Picture();
         }
         $picture->uuid = $uploader->getUuid();
         $picture->name = $name;
         $picture->created = new \DateTime('now');
         $this->pictures->save($picture);
     } catch (\Exception $exc) {
         $uploader->handleDelete(__DIR__ . '/../../www/uploads');
         $this->sendResponse(new Nette\Application\Responses\JsonResponse(['error' => $exc->getMessage()]));
     }
     //TODO: napřed předat do šablony nová data
     $this->redrawControl('pictures');
     $this->sendResponse(new Nette\Application\Responses\JsonResponse($result));
 }