Multiple file downloader using pure jQuery and PHP5?

I need a multi-user file loader created by pure jquery / Javascript and php5. Do not use flash files. If any authority has a code for this, please share it with me. I tried with the File API but did not support IE and Opera.

+3
source share
1 answer

You can use blueimp jQuery File Upload for the client side to have multiple file downloads. It has many options, customizable.

For the PHP side, you might be interested in some ideas on what to do (just some snippet for my upload form for images, so some variables are not defined here like $ log or $ confImages, but you can get this idea)

            //heck that we have a file
            if (empty($uploaded_image))
            return false;
        if ($uploaded_image['error']) {
            $log->LogError($uploaded_image['error'] . ": Error uploading file.");
            return false;   
        }

        list($dirname, $basename, $extension, $filename) = array_values(pathinfo($uploaded_image['name'])); //Extract variables: dirname, basename, extension, filename
        //Normalize file name. I may suggest using http://cubiq.org/the-perfect-php-clean-url-generator than this
        $filename = iconv("utf-8","ascii//TRANSLIT",$filename);
            $allowedExt = array("jpg","jpeg","gif","png");
        $extension = strtolower($extension);

        //Check if the image has allowed type
        if (empty($extension) || !in_array($extension, $allowedExt)) {
            $log->LogError("invalid_extension: Not allowed to upload file ".(empty($extension) ? "without extension" : "with extension $extension").". Allowed Extensions: ". implode(",",$allowedExt));
            return false;   
        }

            //Generate some random string in case if such file exists on server
        $postfix = substr( md5(uniqid(rand(),1)), 3, 5 );
        $newFile = $_SERVER['DOCUMENT_ROOT'].$upload_folder."/".$filename.'_'.$postfix.'.'.$extension; //new filename with appended random string to original filename);

        //Check if the file with the same name is already exists on the server
        if (file_exists($newFile)) {
            $log->LogError("file_exists: File couldn't be uploaded, because such filename exist ".basename($newFile)." jau eksistē");
        }

        //Attempt to move the uploaded file to it new place
        if (move_uploaded_file($uploaded_image['tmp_name'],$newFile)) {
            //I do some resizing also using http://phpthumb.gxdlabs.com/
            $convertedimage = PhpThumbFactory::create($newFile, array("jpegQuality" => 80));
            if (isset($confImages["max_width"]) || isset($confImages["max_height"])) 
                $convertedimage->resize($confImages["max_width"], $confImages["max_height"]);
            $convertedimage->save( $newFile );

            //Save image path to database
            ...

            return $image;
        } else {
            $log->LogError("Couldn't copy file from temp folder " . $uploaded_image['tmp_name'] . " to location " . $newFile);
        }       

        return false;
+2
source

All Articles