Skip to content

Instantly share code, notes, and snippets.

@andreasomovigo
Forked from protorob/RogosMagic.php
Created August 7, 2017 12:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andreasomovigo/ca8e108b6a5690acf05088e7d8df545f to your computer and use it in GitHub Desktop.
Save andreasomovigo/ca8e108b6a5690acf05088e7d8df545f to your computer and use it in GitHub Desktop.
<?php
$json = file_get_contents( dirname(__FILE__) . DIRECTORY_SEPARATOR ."prdmd.json");
$json = preg_replace('/[^(\x20-\x7F)]*/','', $json);
$jsonToArray = json_decode($json, true);
scanProducts($jsonToArray);
function writeProduct( $title, $id, $product_short, $product_full, $product_price, $product_weight, $dir){
$productTemplate =
'Title:
{{title}}
----
Identifier:
{{id}}
----
Product-short-description:
{{product_short}}
----
Product-full-description:
{{product_full}}
----
Product-price:
{{product_price}}
----
Product-weight:
{{product_weight}}';
$productTemplate = str_replace('{{title}}',$title,$productTemplate);
$productTemplate = str_replace('{{id}}',$id,$productTemplate);
$productTemplate = str_replace('{{product_short}}',$product_short,$productTemplate);
$productTemplate = str_replace('{{product_full}}',$product_full,$productTemplate);
$productTemplate = str_replace('{{product_price}}',$product_price,$productTemplate);
$productTemplate = str_replace('{{product_weight}}',$product_weight,$productTemplate);
$fp = fopen($dir . "/product.txt","wb");
fwrite($fp,$productTemplate);
fclose($fp);
}
function scanProducts (array $products){
foreach ($products as $product) {
$directoryProduct = dirname(__FILE__) . DIRECTORY_SEPARATOR .$product['Order'].'-'.$product['URL'];
$titleProduct = $product['Title'];
$idProduct = $product['ID'];
$prodshortProduct = $product['ProdShort'];
$prodfullProduct = $product['ProdFull'];
$priceProduct = $product['Price'];
$weightProduct = $product['Weight'];
if (!file_exists($directoryProduct)) {
mkdir($directoryProduct, 0777, true);
}
writeProduct($titleProduct, $idProduct, $prodshortProduct, $prodfullProduct, $priceProduct, $weightProduct, $directoryProduct);
}
echo 'all done';
}
@andreasomovigo
Copy link
Author

andreasomovigo commented Aug 7, 2017

mettendo il template $productTemplate dentro la funzione writeProduct mi sembra che abbia funzionato perchè viene re-inizializzato coi suoi segnaposto {{}}, diversamente , richiamato come "global" dopo la prima manipolazione i segnaposto non esistono più e quindi fallivano gli str_replace e veniva sempre scritto il primo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment