Merhaba
XML üzerinden farklı bir siteden ürünleri çekiyorum. Veri tabanına tüm ürünler özellikler fiyat vs.. geliyor. Ancak resimleri kendi sunucuma çekip veritabanına yazdıramıyorum. Bu konuda yardımcı olabilecek herkese şimdiden teşekkür ederim.
Not: Sistem daha önce çalışıyordu ancak son zamanlarda resimleri çekmemeye başladı.
XML Resim Yükleme
5
●990
- 03-05-2017, 16:48:43
- 03-05-2017, 17:57:43Merhaba iyi akşamlar, çektiğin veriyi veritabanına kaydettir. Değişekenide alacağın yere gönder. Örnek vermek gerekirse ;
$link = "site.com"; $cek = file_get_contents($link); $parcala = '@<img>(.*?)</img>@si'; preg_match_all($parcala,$cek,$resim); $resim_cek = $resim[1][0]; // print_r($resim) yaparak hangi alanda olduğunu görebilirsin. $resim_kaydet = mysql_query("update tablom set resim='".$resim_cek ."' "); //buraya kadar veriyi çekip dbye kaydını yaptırdık. Bundan sonra dilersen dbden dilersen çektiğin yerden linki alabilirsin. <img src="'.$resim_cek.'"/>Yanlışlık varsa bu yöntemle yapabilirsin sadece örnek verme amacı ile yazdım. Ya da çektiğin verilerin kaynağını kontrol et değişmiş olabilir. - 04-05-2017, 08:44:53Merhaba cevabınız için teşekkür ederim ancak yapamadım benim çektiğim kodlar aşağıdaki gibidir.
<?php error_reporting(0); function simplexml_load_file_curl($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $xml = simplexml_load_string(curl_exec($ch)); return $xml; } $url = 'http://icgiyimruzgari.com.tr/xml/?R=12479&K=60d6&Imgs=1&AltUrun=1&TamLink&Dislink'; $xml = simplexml_load_file_curl($url); $veri = '<?xml version="1.0" encoding="UTF-8"?>'; $veri .= ' <Urunler>'; foreach ($xml->xpath('//product') as $urun) { $renk = "Renk Seçiniz"; $beden = "Beden Seçiniz"; //if ($urun->stock > 0){ if ($urun->subproducts->subproduct[0]->type1 != ""){ $veri .=' <Urun> <UrunKodu><![CDATA['.$urun->supplier_code.']]></UrunKodu> <Model><![CDATA['.$urun->model.']]></Model> <Marka><![CDATA['.$urun->brand.']]></Marka> <UrunIsmi><![CDATA['.$urun->name.']]></UrunIsmi> <Fiyat><![CDATA['.$urun->price_list.']]></Fiyat> <Kampanya_Fiyat><![CDATA['.$urun->price_list_campaign.']]></Kampanya_Fiyat> <Stok><![CDATA['.$urun->stock.']]></Stok> <Aciklama><![CDATA['.$urun->detail.']]></Aciklama> <Kategori_Full><![CDATA['.$urun->category_path.']]></Kategori_Full> <Desi><![CDATA['.$urun->desi.']]></Desi>'; if ($urun->subproducts->subproduct[0]->type1 != ""){ $veri .= ' <SECENEKLER>'; for ($i=0;$i<10;$i++){ if ($urun->subproducts->subproduct[$i]->type1 != ""){ $veri .=' <SECENEK> <NAME><![CDATA['.$renk.']]></NAME> <VALUE><![CDATA['.$urun->subproducts->subproduct[$i]->type1.']]></VALUE> </SECENEK>'; } } for ($ii=0;$ii<10;$ii++){ if ($urun->subproducts->subproduct[$ii]->type2 != ""){ $veri .=' <SECENEK> <NAME><![CDATA['.$beden.']]></NAME> <VALUE><![CDATA['.$urun->subproducts->subproduct[$ii]->type2.']]></VALUE> </SECENEK>'; } } $veri .= ' </SECENEKLER>'; } $veri .=' <Ana_Resim><![CDATA['.$urun->images->img_item[0].']]></Ana_Resim>'; for ($is=1;$is<10;$is++){ if ($urun->images->img_item[$is] != ""){ $veri .=' <Ek_Resim><![CDATA['.$urun->images->img_item[$is].']]></Ek_Resim>'; } } $veri .=' </Urun>'; } //} } $veri .= ' </Urunler>'; $file = "icg-secli.xml"; $fileOpen = fopen($file, 'w'); fwrite($fileOpen, $veri); fclose($fileOpen); $handle = fopen($file, "rb"); $contents = fread($handle, filesize($file)); fclose($handle); echo $contents; ?> - 13-06-2017, 10:32:07Cevap için teşekkür ederim ancak yapamadım her türlü bilgiyi alıp VT ye yazıyor ancak ne resim yolunu VT ye yazıyor nede resimleri çekiyor.Misafir adlı üyeden alıntı: mesajı görüntüle
- 13-06-2017, 10:59:04Merhaba,
Aşağıdaki kodlarda siz diğer bir siteden XML kodları alıp kendi oluşturduğunuz XML yapısına dönüştürüyorsunuz.
BU kodlarda zaten XML i parse edip db ye kayıt aşamaları yer almıyor o kodlarınız nerededir?
ihsankeser adlı üyeden alıntı: mesajı görüntüle