Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Importare molte immagini remote

    Salve a tutti,
    ho un problema, devo importare molte immagini da un sito sul mio server, riesco ad importarle e scalarle (perchè ho bisogno di scalare ogni immagine), però in fase di importazione impiega molto tempo, esiste un modo per importarle e scalarle in modo molto veloce?

    Oppure come potrei optare?

    Grazie a tutti

  2. #2
    "importarle" suppongo che significhi che prendi delle immagini dal sito X.com e le copi sul tuo sito Y.com ...

    che script usi per l'importazione? Magari è possibile ottimizzarlo.

  3. #3
    Questo è il codice:

    Codice PHP:
    public function download_product_images1($url$filename$idstore) {
         
         if(
    image_exists($url)){

       
    $max_width 75;
       
    $max_height 75;
       if(
    is_dir(ROOT_DIR.'/images/products/'.$idstore.'/')){
       
    $destination ROOT_DIR.'/images/products/'.$idstore.'/';
       }else{
       
    $destination ROOT_DIR.'/images/products/'.$idstore.'/';
       
    Mkdir(ROOT_DIR.'/images/products/'.$idstore.'/',0777);
       }
       
    $quality '90';
       
    $source_pic ''.$url.'';
       
    $ext file_extension($url);
       
       if(!
    file_exists(ROOT_DIR.'/images/products/'.$idstore.'/'.$filename.'.'.$ext)) {

       if(
    $ext == 'jpg'){
       
    $src imagecreatefromjpeg($source_pic);
       }

       if(
    $ext == 'jpeg'){
       
    $src imagecreatefromjpeg($source_pic);
       }

       if(
    $ext == 'gif'){
       
    $src imagecreatefromgif($source_pic);
       }

       if(
    $ext == 'png'){
       
    $src imagecreatefrompng($source_pic);
       }

       list(
    $width,$height)=getimagesize($source_pic);

       
    $x_ratio $max_width $width;
       
    $y_ratio $max_height $height;

       if( (
    $width <= $max_width) && ($height <= $max_height) ){
         
    $tn_width $width;
         
    $tn_height $height;
       } elseif ((
    $x_ratio $height) < $max_height){
         
    $tn_height ceil($x_ratio $height);
         
    $tn_width $max_width;
       } else {
         
    $tn_width ceil($y_ratio $width);
         
    $tn_height $max_height;
       }

       
    $ext file_extension($url);

       
    $tmp=imagecreatetruecolor($tn_width,$tn_height);
       
    imagecopyresampled($tmp,$src,0,0,0,0,$tn_width$tn_height,$width,$height);
       if(
    $ext == 'jpg'){
       
    $destination_pic $destination.$filename.'.jpg';
       
    imagejpeg($tmp,$destination_pic,$quality);
       }
       if(
    $ext == 'gif'){
       
    $destination_pic $destination.$filename.'.gif';
       
    imagegif($tmp,$destination_pic,$quality);
       }
       if(
    $ext == 'png'){
       
    $destination_pic $destination.$filename.'.png';
       
    imagepng($tmp,$destination_pic,$quality);
       }
       if(
    $ext == 'jpeg'){
       
    $destination_pic $destination.$filename.'.jpg';
       
    imagejpeg($tmp,$destination_pic,$quality);
       }
       
    imagedestroy($src);
       
    imagedestroy($tmp);
       
       return 
    SITE_URL.'images/products/'.$idstore.'/'.$filename.'.'.$ext;

       }else{

       return 
    SITE_URL.'images/products/'.$idstore.'/'.$filename.'.'.$ext;

       }
       }

    Dove come parametri gli passo l'url dell'immagine, il nome dell'immagine l'id del negozio in questione.

    Grazie

  4. #4
    Quanto ci mette al momento lo script a girare?

  5. #5
    Ciao e scusami se rispondo ora.
    Lo script in se non è che ci mette tanto, più o meno 1 secondo ad immagine, il problema però è che questo sito ha oltre 50000 prodotti, quindi i tempi diventano davvero lunghi tra inserimento prodotti ed importazione immagini.
    Per questo chiedevo come potrei ovviare questa situazione, ovvero se esiste un metodo più veloce per importare tutte queste immagini.
    Avevo pensato magari di dividere la cosa in due processi, cioè in primis mi importo solo le immagini, poi dopo l'importazione, un secondo processo provvederà a creare le miniature.
    Cosa ne pensate oppure cosa potrei utilizzare?

    Grazie

  6. #6
    perchè non salvi le immagini e basta? poi crei la miniatura durante la visualizzazione? Anche sono con Js così non carichi il server ma il client?

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.