refactoring - PHP - simple refactor -


i have following code:

$image_1 = $value->getelementsbytagname("image1"); $image1  = $image_1->item(0)->nodevalue;  $image_2 = $value->getelementsbytagname("image2"); $image2  = $image_2->item(0)->nodevalue; 

is there easier way, not repeat code if need $image_3 ?

i.e. how can refactor this?

thanks

update:

i using $images_x variables in further code, needs refactoring:

update 2: - full code:

$image_1 = $value->getelementsbytagname("image1"); $image1  = $image_1->item(0)->nodevalue;  $image_2 = $value->getelementsbytagname("image2"); $image2  = $image_2->item(0)->nodevalue;  $image_3 = $value->getelementsbytagname("image3"); $image3  = $image_3->item(0)->nodevalue;  $filename_1 = basename($image1); $ch = curl_init ($image1); curl_setopt($ch, curlopt_header, 0); curl_setopt($ch, curlopt_returntransfer, 1); curl_setopt($ch, curlopt_binarytransfer,1); $rawdata_1=curl_exec ($ch); curl_close ($ch); $fp = fopen(mage::getbasedir('media') . ds . 'import/'.$filename_1,'w'); fwrite($fp, $rawdata_1); fclose($fp);  $filename_2 = basename($image2); $ch = curl_init ($image2); curl_setopt($ch, curlopt_header, 0); curl_setopt($ch, curlopt_returntransfer, 1); curl_setopt($ch, curlopt_binarytransfer,1); $rawdata_2=curl_exec ($ch); curl_close ($ch); $fp = fopen(mage::getbasedir('media') . ds . 'import/'.$filename_2,'w'); fwrite($fp, $rawdata_2); fclose($fp);  $filename_3 = basename($image3); $ch = curl_init ($image3); curl_setopt($ch, curlopt_header, 0); curl_setopt($ch, curlopt_returntransfer, 1); curl_setopt($ch, curlopt_binarytransfer,1); $rawdata_3=curl_exec ($ch); curl_close ($ch); $fp = fopen(mage::getbasedir('media') . ds . 'import/'.$filename_3,'w'); fwrite($fp, $rawdata_3); fclose($fp);  $product->addimagetomediagallery(mage::getbasedir('media') . ds . 'import/' .  $filename_1, array('image', 'small_image','thumbnail'), false, false); $product->addimagetomediagallery(mage::getbasedir('media') . ds . 'import/' .  $filename_2, array('image', 'small_image','thumbnail'), false, false); $product->addimagetomediagallery(mage::getbasedir('media') . ds . 'import/' .  $filename_3, array('image', 'small_image','thumbnail'), false, false); 

you use loops:

$images = array(); ($i = 1; $i <= 2; $i++) {    $images[] = $value->getelementsbytagname("image" . $i)->item(0)->nodevalue; }  // , can image via $images[0], $images[1] , on 

all code can rewritten brad f jacobs suggested:

function downloadandsave($image) {     $filename = basename($image);     $ch = curl_init ($image);     curl_setopt($ch, curlopt_header, 0);     curl_setopt($ch, curlopt_returntransfer, 1);     curl_setopt($ch, curlopt_binarytransfer,1);     $rawdata=curl_exec ($ch);     curl_close ($ch);     $fp = fopen(mage::getbasedir('media') . ds . 'import/'.$filename,'w');     fwrite($fp, $rawdata);     fclose($fp);     return $filename; } // here should have loop, suppose foreach ($products $product) {     ($i = 1; $i <= 2; $i++) {        $filename = downloadandsave($value->getelementsbytagname("image" . $i)->item(0)->nodevalue);        $product->addimagetomediagallery(mage::getbasedir('media') . ds . 'import/' .  $filename, array('image', 'small_image','thumbnail'), false, false);     } // end of foreach } 

Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -