Hoi allen,
vorig jaar zijn wij heel enthousiast gestart met de verkoop van ons CMS pakket. Dit ging erg goed. Zo goed zelfs dat we nu met een probleem zitten waar we eerder aan hadden moeten denken.
Alle productfoto's van de webshop module slaan wij op in de database als een BLOB. Uiteindelijk is de database hierdoor 430MB geworden. En dit moeten we gaan terug dringen. Daarom willen we alle afbeeldingen uit de MySQL database halen en opslaan als een bestand op de server.
Een probleem, ik krijg het niet voor elkaar. Iemand tips?
Bedankt!
Diederik
- Blob naar file
-
04-05-2011, 12:35 #1
- Berichten
- 400
- Lid sinds
- 15 Jaar
Blob naar file
-
04-05-2011, 12:38 #2
- Berichten
- 319
- Lid sinds
- 14 Jaar
Re: Blob naar file
Ik denk dat jij hier een heleboel aan kan hebben ;) precies jouw probleem.
http://www.topicobserver.com/blog/we...s-of-php-code/
-
04-05-2011, 12:55 #3
- Berichten
- 400
- Lid sinds
- 15 Jaar
Re: Blob naar file
Ik denk dat jij hier een heleboel aan kan hebben ;) precies jouw probleem.
http://www.topicobserver.com/blog/we...s-of-php-code/
dank voor je reactie.
Eerst was dit de afbeelding (rechtstreeks uit database):
http://cms.quattronet.nl/output/productfoto.php?id=23
En nu na de conversie als file op de server:
https://cms.quattronet.nl/images/products/0023.jpg
Dat is nogal een flink beeld verlies.
Weet jij waar dat door kan komen?
Dit is de code:
PHP Code:<?php
// Set the root path
$sPath = $_SERVER['DOCUMENT_ROOT'].'/images/products/';
// Include the database connection
require_once('../includes/connectie_database.php');
// Query to take all the products from the database
$sProductsQuery = "SELECT * FROM `quattrocms_shop_products` ORDER BY `product_id` ASC;";
// Run the query
$oProductsResult = mysql_query($sProductsQuery);
while ($row = mysql_fetch_assoc($oProductsResult)) {
foreach($row as $varname => $value) {
$$varname = stripslashes($value);
}
// Count the characters of the product id
$sLength = strlen($product_id);
// Create the file name
if($sLength == 3) {
$sFilename = '0'.$product_id.'.jpg';
} else if ($sLength == 2) {
$sFilename = '00'.$product_id.'.jpg';
} else if ($sLength == 1) {
$sFilename = '000'.$product_id.'.jpg';
} else {
$sFilename = $product_id.'.jpg';
}
// Create the file on the server
file_put_contents($sPath.''.$sFilename, $product_image);
}
?>
-
04-05-2011, 13:23 #4
- Berichten
- 289
- Lid sinds
- 16 Jaar
Re: Blob naar file
Kijk eens naar de GDLib i.p.v met file_put_contents(); te spelen..
hint
-
06-05-2011, 16:11 #5
- Berichten
- 17
- Lid sinds
- 14 Jaar
Re: Blob naar file
Ik zie dat je een stripslashes op de database rijen doet. Heb je daar een specifieke reden voor? Het zou namelijk kunnen zijn dat je afbeeldingen daardoor corrupt worden, dus je zou eens kunnen kijken of het helpt als je ze weghaalt.
Paul Boekholt - Byte Internet
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic