Προς το περιεχόμενο

προβλημα με php αρχειο - δεν γεμιζει το csv αρχειο


johnk123

Προτεινόμενες αναρτήσεις

Αναφορά σε κείμενο

προβλημα  σε   μετατροπη  csv  αρχειου

αυτο  το  test.php μου  βγαζει  το  xml  κανονικα  αλλα  δεν  γεμιζει  το  αρχειο  csv

υπαρχει  καποιος  που  μπορει  να  το  δει??? που  βρισκεται  το προβλημα???

 

στην   ουσια  ειναι  μετατροπεας  απο  ενα  αρχειο  xml  σε  csv  αρχειο

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

<?php
//Store xml
 $dom = new DOMDocument();
 $dom->load('http://affiliate.linkwi.se/feeds/1.2/CD15323/programs-all/columns-product_id,barcode,sku,part_number,model_name,product_name,description,category,brand_name,tracking_url,thumb_url,image_url,in_stock,availability,valid_from,valid_to,on_sale,currency,price,full_price,discount,city,times_bought,longitude,latitude,address,size,colour,custom,extra_images/catinc-0/catex-0/proginc-101-687/progex-0/feed.xml');
 $dom->save('uniqueshop-products-update.xml');

// //Edit XML BASE ON CUSTOMER NEEDS (Categories)
  $xmll = simplexml_load_file("uniqueshop-products-update.xml");


  // $i=-1;
 $nodes = $xmll->xpath('//item');

   foreach ($nodes as $product) { 
    // $i=$i+1;

       //check Categories
       // if ($product->Category2 == "ΣΚΑΜΠΟ" ){
       //  $product->Category = "Επιπλα > Πολυθρόνες γραφείου επισκέπτη";
       // }

    //Boroyme na to ftiaxpume ws exhs..
    // mpainei sthn switch xwris elegxo gia to 3 kai sto default allazei thn timh mias metablhths poy kanei elegxo gia thn Category 2

       //$empty_Category = "NO";
       
          switch ($product->category) {

             
             default:
               //$empty_category3 = "YES";
               break;
           } 

      // Edit Name (Add code to the End)
      // Code to string
      $new_code = (string)$product->model;
      $new_name = $product->name . " " . $new_code;

      $product->name = $new_name;
      $product->model = $new_code;

      // Availability Y/N
      $availability = $product->availability;
      if($availability == "Άμεσα Διαθέσιμο" || $availability == "Χαμηλή Διαθεσιμότητα"){
        $product->availability = 99;
        $product->in_stock = "1";
      }else{
        $product->availability = 0;
         $product->in_stock = "2";
      
       }
 //valame to status sto pedio material
}

 file_put_contents("uniqueshop-products-update.xml", $xmll->saveXML());

 echo "Put products to CSV file<br>";

 // Metatrepoume to arxeio apo xml se csv\
 $filexml='uniqueshop-products-update.xml'; //Βάζουμε το XML μας σε μια μετα΄λητη

 if (file_exists($filexml))  {    
    $xml = simplexml_load_file($filexml);
    $i = 1;           // Position counter
    $values = [];     // PHP array

    // Writing column headers
    $columns = array('sku', 'availability', 'in_stock');


   

    $fs = fopen('uniqueshop-products-update.csv', 'w');
    fputcsv($fs, $columns);      
    fclose($fs);

    // Iterate through each <product> node
   $node = $xml->xpath('//item');

   foreach ($node as $n) {               
       // Iterate through each child of <item> node
       foreach ($columns as $col) {         
           if (count($xml->xpath('//item['.$i.']/'.$col)) > 0) {
              $values[] = trim($xml->xpath('//item['.$i.']/'.$col)[0]);
           } else {
              $values[] = '';
           }    
       }  
        // Write to CSV files (appending to column headers)
        $fs = fopen('uniqueshop-products-update.csv', 'a');
        fputcsv($fs, $values);      
        fclose($fs);  

        $values = [];    // Clean out array for next <item> (i.e., row)
        $i++;            // Move to next <item> (i.e., node position)
    }
 }

     echo "File uniqueshop-products-update.csv is ok! <br>";
     copy('uniqueshop-products-update.csv', 'httpdocs/var/import/uniqueshop-products-update.csv');
     // echo "File uniqueshop-create.csv coppied!";
 ?>
 

το  αρχειο  σου  εστειλα!

Επεξ/σία από johnk123
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...