Importfunctie uit osCommerce naar WooCommerce

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn vraag
Voor een webshop wil ik de producten uit de oude osCommerce database overzetten naar een nieuwe WooCommerce site. Via een plugin lukt dit prima en alle producten zijn gekopieerd maar niet alle afbeeldingen gaan mee. Ik heb gemerkt dat afbeeldingen met een spatie in de url niet worden overgezet. Zou iemand kunnen kijken naar onderstaande functie hoe ik die moet aanpassen om alle afbeeldingen over te zetten?

function woocommerce_osc_import_image($url){
$attach_id = 0;
$wp_upload_dir = wp_upload_dir();

$filename = $wp_upload_dir['path'].'/'.sanitize_file_name(basename($url));

if(file_exists($filename)){
$url = $filename;
}else{
//Encode the URL
$base = basename($url);
$url = str_replace($base,urlencode($base),$url);
}

if($f = @file_get_contents($url)){
file_put_contents($filename,$f);

$wp_filetype = wp_check_filetype(basename($filename), null );

$attachment = array(
'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
'post_mime_type' => $wp_filetype['type'],
'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $filename, 37 );
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
}
return $attach_id;
}

Alvast ontzettend bedankt!

Groet,
Stephanie

Alle reacties


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Hier in PRG draait het om zelf programmeren, niet om anderen dat voor je te laten doen. En het lijkt erop dat je dat wel probeert te bereiken nu ;) Daarnaast zul je voor support op code van een ander, in eerste instantie ook bij die ander moeten zijn.

En wat was het advies van de maker van de plugin? En als je geen advies kan krijgen, wat heb je dan zelf al geprobeerd om je probleem op te lossen?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • eric.1
  • Registratie: Juli 2014
  • Laatst online: 21-09 12:52
Verwijderd schreef op woensdag 31 mei 2017 @ 08:30:
Ik heb gemerkt dat afbeeldingen met een spatie in de url niet worden overgezet.
Een spatie in de url, weet je zeker dat de url correct is? Het gebruik van een spatie in url's is uberhaupt niet handig. Als het toch nodig is worden ze over het algemeen vervangen door een "+" (of "%20").

Je kan tevens je urls door urlencode() heen halen..

Acties:
  • 0 Henk 'm!

  • Hiroj
  • Registratie: Mei 2010
  • Laatst online: 04-09 14:23
Hoi Stephanie,

Je zou kunnen kijken of de variable $url alle spaties omzet naar %20.
Zo niet, dan zou je best $url = urlencode($url); nog kunnen gebruiken, voordat de if ($f = .... start.