PHP Classes
elePHPant
Icontem

File: example/upload_and_convert.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Eduardo "Trial Force" Bonfandini  >  phpSVG  >  example/upload_and_convert.php  >  Download  
File: example/upload_and_convert.php
Role: Example script
Content type: text/plain
Description: Show how to upload and convert a Files to PNG/JPPEG.
Class: phpSVG
Create and edit vectorial graphics in SVG files
Author: By
Last change: Correct upload example to put it online
Date: 9 months ago
Size: 3,167 bytes
 

Contents

Class file image Download
<html>
    <head>
        <title>SVG - Upload and convert</title>
    </head>
    <body>
        <form enctype="multipart/form-data" action="upload_and_convert.php" method="POST">
        Choose SVG to upload: <input name="uploadedfile" type="file" /><br />
        <input type="submit" value="Upload File" />
        </form>
    </body>
</html>

<?php
/**
 *
 * Description: upload and convertion examples
 *
 * Blog: http://trialforce.nostaljia.eng.br
 *
 * Started at Mar 11, 2011
 *
 * @author Eduardo Bonfandini
 * @example transformation_request.svg.php?fill=green&stroke=blue&rotate=45&translate=10,5
 *
 *-----------------------------------------------------------------------
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Library General Public License as published
 * by the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, access
 * http://www.fsf.org/licensing/licenses/lgpl.html or write to the
 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *----------------------------------------------------------------------
 */
//to SVG convert
ini_set('max_execution_time','0');

require_once
"../svglib/svglib.php";

if (
$_FILES )
{
   
$target_path = 'output/'. basename( $_FILES['uploadedfile']['name']);
   
$mime = $_FILES['uploadedfile']['type'];

    if (
$_FILES['uploadedfile']['error'] )
    {
        die(
'Error on upload.');
    }

    if (
$mime != SVGDocument::HEADER )
    {
        die(
'Only SVG files can be converted.');
    }

    if (
move_uploaded_file( $_FILES['uploadedfile']['tmp_name'], $target_path ) )
    {
       
$svg = SVGDocument::getInstance( $target_path );
        echo
'<embed style="border:solid 1px gray;" src="'.$target_path.'" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" /><br / >';
       
$svg->asXML('output/test.svgz'); //compacted svg
       
$ok = $svg->export('output/upload.png');
       
$svg->export('output/upload16x16.png',16,16,true);
       
$svg->export('output/upload32x32.png',32,32,true);
       
$svg->export('output/upload64x64.png',64,64,true);
       
$svg->export('output/upload128x128.png',128,128,true);
       
$svg->export('output/upload256x256.png',256,256,true);
        echo
'<img src="output/upload.png"/><br/>';
        echo
'<img src="output/upload16x16.png"/><br/>';
        echo
'<img src="output/upload32x32.png"/><br/>';
        echo
'<img src="output/upload64x64.png"/><br/>';
        echo
'<img src="output/upload128x128.png"/><br/>';
        echo
'<img src="output/upload256x256.png"/><br/>';
    }
    else
    {
        echo
"There was an error uploading the file, verify permission and try again!";
    }
}
?>