4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: J.Lond on September 25, 2014, 05:19:23 AM

Title: [Mod] CSV Export Of Images
Post by: J.Lond on September 25, 2014, 05:19:23 AM
I need a CVS export of my images with the following export format:

image_name | image_url (direct Linux path) | image_hits | image_date | image_rating

Exports must be delimited by a pipe (|). I would like to be able to do separate csv files per individual image category.

Any help on this would be appreciated.

Best Regards,
Jason
Title: Re: [Mod] CSV Export Of Images
Post by: Rembrandt on October 12, 2014, 07:19:30 PM
Hi!

1.) insert in your Template/categories.html wherever you want :
Code: [Select]
<a href="{downloadCSV}">CSV</a>

2.) search in categories.php:

"random_cat_image" => $random_cat_image
 
insert above:

"downloadCSV" => $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$cat_id."&amp;action=downloadCsv"),


3.) search:

//-----------------------------------------------------
//--- Clickstream -------------------------------------

insert above:

if ($action == "downloadCsv"){
//Select the Tablefields
  $tableFieldsArray = array(
    'image_name',
    'image_media_file',
    'image_hits',
    'image_date',
    'image_rating',
  );
// Select the delimiter between the tablefields, e.g.: ", ; : | * "
  $delimiter = "|";

  $path = ROOT_PATH.MEDIA_DIR."/".$cat_id."/csv/";
  if(!is_dir($path)){
    mkdir($path,0777);
    chmod($path,0777);
  }
 
  $tableFields = implode(",",$tableFieldsArray);
 
  $sql = "SELECT ".$tableFields."
          FROM  ".IMAGES_TABLE."
          WHERE cat_id = ".$cat_id."
          ";
  $result = $site_db->query($sql);
 
  if($result){
    $tableFields = array(implode("$delimiter",$tableFieldsArray));
    $file_name = $cat_cache[$cat_id]['cat_name'].".csv";
    $output = fopen($path."/".$file_name, "w");
    fputcsv($output,$tableFields);
   
    while ($row = mysql_fetch_assoc($result)){
      $row['image_media_file'] = "./data/media/".$cat_id."/".$row['image_media_file'];
      $row['image_date'] = ($row['image_date']) ? format_date($config['date_format']." ".$config['time_format'], $row['image_date']):$row['image_date'];
      fputcsv($output, array(implode("$delimiter",$row)));
    } 
  }
 
  if (is_dir($path)) {
    $size = @filesize($path."/".$file_name);
    header("Content-type: application/x-unknown");
    header("Content-length: $size\n");
    header("Content-Disposition: attachment; filename=$file_name\n");
    readfile($path."/".$file_name);
    exit;
  }
} // END $action == "csv"


mfg Andi
Title: Re: [Mod] CSV Export Of Images
Post by: J.Lond on October 25, 2014, 09:05:49 AM
Thank you very much. I forgot to mention that each image needs to be on it's own line.

For Example:

image_name1 | image_url (direct Linux path) | image_hits | image_date | image_rating
image_name2 | image_url (direct Linux path) | image_hits | image_date | image_rating
image_name3 | image_url (direct Linux path) | image_hits | image_date | image_rating

Again, thank you for your assistance.

Best Regards
Title: Re: [Mod] CSV Export Of Images
Post by: b-707 on September 11, 2021, 01:24:19 PM
I tried it. But I cannot find the output CSV-Files.
I looked for them in /my_path/data/and_subdirectories.
What must I do?
Thx in advance for your help.
Josef / b-707
Title: Re: [Mod] CSV Export Of Images
Post by: Sunny C. on October 10, 2021, 02:38:52 PM
Example: data/media/1/name.csv