If your store has changed servers or you are just having some file backup issues and are missing your images here is a quick script to tell you which images are broken in virtuemart. This php script could easily be modified for other websites, stores, or tables.
Just change a few variables, upload and it will list out all of your missing product photos. Even with an edit link to help you fix them faster!
/** Joomla 1.5 - virtuemart 1.9 lists product large images that are missing and need to be re-uploaded Thumbnails are auto generated so its not an issue to look for them. could be easily modified for other datbases/content i.e. categories */ //database variables - copy from your configuration.php $user = ''; $db = ''; $password = ''; $host = 'localhost'; $editurl ='https://www.DOMAIN.com/administrator/index.php?page=product.product_form&limitstart=0&keyword=&product_parent_id=&option=com_virtuemart&product_id='; //make sure you edit your full path here $filepath ='/home/DOMAIN/public_html/components/com_virtuemart/shop_image/product'; echo "file location:".$filepath."<br><br>"; if (!$link = mysql_connect($host, $user, $password)) { echo 'Could not connect to mysql'; exit; } if (!mysql_select_db($db, $link)) { echo 'Could not select database'; exit; } //database query for the fields we need $sql = 'SELECT product_id,product_full_image, product_name FROM jos_vm_product'; $result = mysql_query($sql, $link); if (!$result) { echo "DB Error, could not query the database\n"; echo 'MySQL Error: ' . mysql_error(); exit; } while ($row = mysql_fetch_assoc($result)) { $filename = $filepath.'/'.$row['product_full_image']; //output the file name and edit link if the file is missing if(!file_exists($filename)) { echo $row['product_full_image']. ' - '.$row['product_name'] ; echo ' <a href="'.$editurl.$row['product_id'] .'" target="_blank">edit</a><br>'; } } mysql_free_result($result); exit();
1 comment:
I could do with this for virtuemart 3/Joomla 3 please :-)
Post a Comment