Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    upload file pdf e convert in jpg

    Salve,

    Ho cercato nel web un qualche script che mi permettesse di fare tutto questo ma ho trovato due script differenti che non so come integrare.

    il primo che mi permette di uploadare il file specificando il percorso di destinazione:
    Codice PHP:
    <?php// Simple PHP Upload Script:  http://coursesweb.net/php-mysql/
    $uploadpath 'img/allegati/';      // directory to store the uploaded files$max_size = 2000;          // maximum file size, in KiloBytes$alwidth = 9000;            // maximum allowed width, in pixels$alheight = 8000;           // maximum allowed height, in pixels$allowtype = array('pdf');        // allowed extensions
    if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {  $uploadpath $uploadpath basename$_FILES['fileup']['name']);       // gets the file name     $sepext = explode('.', strtolower($_FILES['fileup']['name']));  $type = end($sepext);       // gets extension  list($width, $height) = getimagesize($_FILES['fileup']['tmp_name']);     // gets image width and height  $err = '';         // to store the errors
      // Checks if the file has allowed type, size, width and height (for images)  if(!in_array($type, $allowtype)) $err .= 'The file: <b>'. $_FILES['fileup']['name']. '</b> not has the allowed extension type.';  if($_FILES['fileup']['size'] > $max_size*1000) $err .= '<br/>Maximum file size must be: '. $max_size. ' KB.';  if(isset($width) && isset($height) && ($width >= $alwidth || $height >= $alheight)) $err .= '<br/>The maximum Width x Height must be: '. $alwidth. ' x '. $alheight;
      // If no errors, upload the image, else, output the errors  if($err == '') {    if(move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) {       echo 'File: <b>'. basename( $_FILES['fileup']['name']). '</b> successfully uploaded:';      echo '<br/>File type: <b>'. $_FILES['fileup']['type'] .'</b>';      echo '<br />Size: <b>'. number_format($_FILES['fileup']['size']/1024, 3, '.', '') .'</b> KB';      if(isset($width) && isset($height)) echo '<br/>Image Width x Height: '. $width. ' x '. $height;      echo '<br/><br/>Image address: <b>http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['REQUEST_URI']), '\\/').'/'.$uploadpath.'</b>';    }    else echo '<b>Unable to upload the file.</b>';  }  else echo $err;}
    ?>

    l'altro invece che mi permette di convertire il pdf in jpg:
    Codice PHP:
    <?php    $pdf 'testfile.pdf';    $save 'output.jpg';
        
    exec('convert "'.$pdf.'" -colorspace RGB -resize 800 "'.$save.'"'$output$return_var);
    ?>
    Inoltre, vorrei che come selezione file si potesse selezionare solo *pdf, quindi non *jpg *png ecc..
    Sapreste come unirli? è possibile farlo?
    Grazie anticipatamente per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Il secondo usa imagemagick

  3. #3
    Codice PHP:
    <?php// Simple PHP Upload Script:  http://coursesweb.net/php-mysql/
    $uploadpath 'img/allegati/';      // directory to store the uploaded files$max_size = 2000;          // maximum file size, in KiloBytes$alwidth = 9000;            // maximum allowed width, in pixels$alheight = 8000;           // maximum allowed height, in pixels$allowtype = array('bmp', 'gif', 'jpg', 'jpe', 'png', 'pdf');        // allowed extensions
    if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {  $uploadpath $uploadpath basename$_FILES['fileup']['name']);       // gets the file name      $sepext = explode('.', strtolower($_FILES['fileup']['name']));  $type = end($sepext);       // gets extension  list($width, $height) = getimagesize($_FILES['fileup']['tmp_name']);     // gets image width and height  $err = '';        
        
    if(!in_array($type$allowtype)) $err .= 'The file: <b>'$_FILES['fileup']['name']. '</b> not has the allowed extension type.';  if($_FILES['fileup']['size'] > $max_size*1000$err .= '<br/>Maximum file size must be: '$max_size' KB.';  if(isset($width) && isset($height) && ($width >= $alwidth || $height >= $alheight)) $err .= '<br/>The maximum Width x Height must be: '$alwidth' x '$alheight;
      if(
    $err == '') {    if(move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) {       echo 'File: <b>'basename$_FILES['fileup']['name']). '</b> successfully uploaded:';      echo '<br/>File type: <b>'$_FILES['fileup']['type'] .'</b>';      echo '<br />Size: <b>'number_format($_FILES['fileup']['size']/10243'.''') .'</b> KB';      if(isset($width) && isset($height)) echo '<br/>Image Width x Height: '$width' x '$height;      echo '<br/><br/>Image address: <b>http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['REQUEST_URI']), '\\/').'/'.$uploadpath.'</b>';    }    else echo '<b>Unable to upload the file.</b>';  }  else echo $err;}?>

  4. #4
    Ho postato il codice corretto.

    Grazie mysql, ma quello che occorre a me è un unica funzione che gestisca entrambe le cose.

  5. #5
    Codice PHP:
    <?php 


    $uploadpath 
    'img/allegati/';   
    $max_size 2000;         
    $alwidth 9000;          
    $alheight 8000;           
    $allowtype = array('bmp''gif''jpg''jpe''png''pdf');      


    if(isset(
    $_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {
      
    $uploadpath $uploadpath basename$_FILES['fileup']['name']);     
      
      
      
    $sepext explode('.'strtolower($_FILES['fileup']['name']));
      
    $type end($sepext);    
      list(
    $width$height) = getimagesize($_FILES['fileup']['tmp_name']);    
      
    $err '';         




      if(!
    in_array($type$allowtype)) $err .= 'The file: <b>'$_FILES['fileup']['name']. '</b> not has the allowed extension type.';
      if(
    $_FILES['fileup']['size'] > $max_size*1000$err .= '<br/>Maximum file size must be: '$max_size' KB.';
      if(isset(
    $width) && isset($height) && ($width >= $alwidth || $height >= $alheight)) $err .= '<br/>The maximum Width x Height must be: '$alwidth' x '$alheight;


      if(
    $err == '') {
        if(
    move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) { 
          echo 
    'File: <b>'basename$_FILES['fileup']['name']). '</b> successfully uploaded:';
          echo 
    '<br/>File type: <b>'$_FILES['fileup']['type'] .'</b>';
          echo 
    '<br />Size: <b>'number_format($_FILES['fileup']['size']/10243'.''') .'</b> KB';
          if(isset(
    $width) && isset($height)) echo '<br/>Image Width x Height: '$width' x '$height;
          echo 
    '<br/><br/>Image address: <b>http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['REQUEST_URI']), '\\/').'/'.$uploadpath.'</b>';
        }
        else echo 
    '<b>Unable to upload the file.</b>';
      }
      else echo 
    $err;
    }
    ?>

  6. #6
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    Quote Originariamente inviata da Samuele.Darenzo Visualizza il messaggio
    Salve,
    Inoltre, vorrei che come selezione file si potesse selezionare solo *pdf, quindi non *jpg *png ecc..
    codice HTML:
    <input type="file" accept="application/pdf" name="files">
    Ovviamente per sicurezza bisogna che esegui una verifica del tipo di file caricato lato server

    Quote Originariamente inviata da Samuele.Darenzo Visualizza il messaggio
    Salve,
    Sapreste come unirli? è possibile farlo?
    Grazie anticipatamente per l'aiuto.
    Certo che è possibile, basta che dopo aver caricato il file esegui la funzione per la conversione.
    eXvision

  7. #7
    Ciao Brodik,

    Ti ringrazio per la risposta ma io purtroppo non ho competenze con il php, ho comuncque provato ad unire le due funzioni.. ma mi da sempre errore non capisco nemmeno dove sbaglio perche ci sono delle sintassi che nemmeno conosco..

    Tu gentilmente mi sapresti fondere le due cose? Ti ringrazio di vero cuore se riesci a farlo.

  8. #8
    Considera che i passaggi che a me interessano sono i seguenti:
    -caricare il file pdf
    -rinominare il file pdf
    -convertirlo in jpg

    Di seguito troverai il form che utilizzo:
    codice HTML:
    <form action="upload.php" method="POST" enctype="multipart/form-data"> 
    <input placeholder="Nome file" class="nome" type="text" />
    <input class="allegato" accept="application/pdf"  type="file" name="fileup" />  
    <input class="invia" type="submit" name='submit' value="Carica" />  
    </form>

  9. #9
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    codice HTML:
    <html>
        <head>
            <title>upload PDF</title>
        </head>
        <body>
            <form action="upload.php" method="POST" enctype="multipart/form-data"> 
            <input placeholder="Carica un file PDF" class="nome" type="text" />
            <input class="allegato" accept="application/pdf"  type="file" name="fileup" />  
            <input class="invia" type="submit" name='submit' value="Carica" />  
            </form>
        </body>
    </html>
    Codice PHP:
    <?php 

    ERROR_REPORTING
    (E_ALL);

    $input "fileup";
    $uploadpath "img/allegati/";
    $max_size 204800// 200 kB

    $allowtype = array("application/pdf");

    if(empty(
    $_FILES[$input])){
        
    trigger_error("Nessun file caricato."E_USER_ERROR);
    }else{

        
    $file $_FILES[$input]['tmp_name'];
        
    $file_name $_FILES[$input]['name'];
        
    $file_type $_FILES[$input]['type'];
        
    $size $_FILES[$input]['size'];
        
    $err $_FILES[$input]['error'];

        if(
    $allowtype[0] != "*"){
            if(!
    in_array($file_type$allowtype)){
                @
    unlink($file);
                
    trigger_error("File non valido."E_USER_ERROR);
                exit;
            }
        }
        
        switch(
    $err){
            case 
    '1':
            case 
    '2':
                
    trigger_error("Le dimensioni del file sono eccessive."E_USER_ERROR);
                exit;
            break;
            case 
    '3':
            case 
    '6':
                
    trigger_error("Si è verificato un errore durante l'upload."E_USER_ERROR);
                exit;
            break;
            case 
    '4':
                
    trigger_error("Non hai selezionato nessun file."E_USER_ERROR);
                exit;
            break;
            case 
    '0':

            if(
    $size $max_size){
                @
    unlink($file);
                
    trigger_error("Le dimensioni del file sono eccessive."E_USER_ERROR);
                exit;
            }

            
    $nuovo_nome_file_dopo_upload $file_name// qui puoi scegliere il nuovo nome da dare al file dopo l'upload
            
    $tnam $uploadpath.$nuovo_nome_file_dopo_upload;
            
    move_uploaded_file($file$tnam);
                
            echo 
    'File: <b>'basename($file_name). '</b> caricato con successo:';
            echo 
    '<br/>File type: <b>'$file_type .'</b>';
            echo 
    '<br />Dimensione: <b>'number_format($size/10243'.''') .'</b> KB';

            
    pdf2jpg($tnam);

            break;
        }
        
    }

    function 
    pdf2jpg($tnam){

        
    $pdf $tnam;
        
    $save preg_replace("/(.*\.)(.*)/""\\1"."jpg"$pdf);
        
    $output "";

        
    exec("convert {$pdf} -colorspace RGB -resize 800 {$save}"$output$return);

        
    // print $return;

    }

    ?>
    eXvision

  10. #10
    Ciao Brodik,

    Volevo intanto ringraziarti per il tempo che mi hai dedicato. Grazie.

    In sostanza il campo
    codice HTML:
    <input placeholder="Carica un file PDF" class="nome" type="text" />
    l'ho modificato in
    codice HTML:
    <input placeholder="Carica un file PDF" class="nome" name="nome" type="text" />
    e nel file upload.php ho aggiunto la seguente stringa:
    Codice PHP:
    $nuovonome $_POST['nome']; 
    e modificato la seguente:
    Codice PHP:
     $nuovo_nome_file_dopo_upload $nuovonome

    Ti riporto le funzioni complete:
    HTML
    codice HTML:
    <form action="upload.php" method="POST" enctype="multipart/form-data">         <input placeholder="Carica un file PDF" class="nome" name="nome" type="text" />        <input class="allegato" accept="application/pdf"  type="file" name="fileup" />          <input class="invia" type="submit" name='submit' value="Carica" />          </form>
    PHP
    Codice PHP:
    <?php 
    ERROR_REPORTING
    (E_ALL);
    $input "fileup";$uploadpath "img/allegati/";$max_size 9004800// 200 kB
    $allowtype = array("application/pdf");
    if(empty(
    $_FILES[$input])){    trigger_error("Nessun file caricato."E_USER_ERROR);}else{
        
    $file $_FILES[$input]['tmp_name'];    $file_name $_FILES[$input]['name'];    $file_type $_FILES[$input]['type'];    $size $_FILES[$input]['size'];    $err $_FILES[$input]['error'];    $nuovonome $_POST['nome'];
        if(
    $allowtype[0] != "*"){        if(!in_array($file_type$allowtype)){            @unlink($file);            trigger_error("File non valido."E_USER_ERROR);            exit;        }    }        switch($err){        case '1':        case '2':            trigger_error("Le dimensioni del file sono eccessive."E_USER_ERROR);            exit;        break;        case '3':        case '6':            trigger_error("Si è verificato un errore durante l'upload."E_USER_ERROR);            exit;        break;        case '4':            trigger_error("Non hai selezionato nessun file."E_USER_ERROR);            exit;        break;        case '0':
            if(
    $size $max_size){            @unlink($file);            trigger_error("Le dimensioni del file sono eccessive."E_USER_ERROR);            exit;        }
            
    $nuovo_nome_file_dopo_upload $nuovonome// qui puoi scegliere il nuovo nome da dare al file dopo l'upload        $tnam = $uploadpath.$nuovo_nome_file_dopo_upload;        move_uploaded_file($file, $tnam);                    echo 'File: <b>'. basename($file_name). '</b> caricato con successo:';        echo '<br/>File type: <b>'. $file_type .'</b>';        echo '<br />Dimensione: <b>'. number_format($size/1024, 3, '.', '') .'</b> KB';
            
    pdf2jpg($tnam);
            break;    }    }
    function 
    pdf2jpg($tnam){
        
    $pdf $tnam;    $save preg_replace("/(.*\.)(.*)/""\\1"."jpg"$pdf);    $output "";
        
    exec("convert {$pdf} -colorspace RGB -resize 800 {$save}"$output$return);
        
    // print $return;
    }
    ?>

    Il file viene rinominato correttamente quando io nel campo name='nome' inserisco il nome completo di estensione.

    La conversione da PDF a JPG non avviene.. perche provo ad aprire il file e windows mi dice: "Impossibile aprire l'immagine. File probabilmente danneggiato o troppo grande."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.