Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prebacivanje smanjenih slika iz foldera u bazu

[es] :: PHP :: Prebacivanje smanjenih slika iz foldera u bazu

[ Pregleda: 2497 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
*.westend.com.

Sajt: www.websolutions.co.rs


Profil

icon Prebacivanje smanjenih slika iz foldera u bazu20.01.2009. u 12:44 - pre 184 meseci
Ovako: imam jedan folder u kome cuvam slike koje su formata 1200x1200. Ja hocu da sve slike iz tog foldera upisem u bazu ali smanjene, tj da budu formata 100x100.
Napravio sam skriptu za to ali negde gresim jer kada hocu da iscitam posle sliku iz baze i hocu da ih prikazem ne radi:
Kod moje skripte ide ovako:
Code:

<?php
//obilazak direktorijuma i smanjenje slika i upisivanje u bazu
if (is_dir($dir)) {
   if ($dh = opendir($dir)) {
       while (($file = readdir($dh)) !== false) {
       $pos_gif = strpos($file, "gif");
       $pos_jpg = strpos($file, "jpg");
       $pos_png = strpos($file, "png");
       if($pos_gif===false && $pos_jpg===false && $pos_png===false){
          echo $file;
       }else{
           $filename=$dir."/".$file;
            // Get new sizes
            list($width, $height) = getimagesize($filename);
            $newwidth = 100;
            $newheight = 100;
            
            // Load
            $thumb = imagecreatetruecolor($newwidth, $newheight);
            $source = imagecreatefromjpeg($filename);
            
            // Resize
            imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

            mysql_query("INSERT INTO tabela (id, slika) VALUES (NULL, '$thumb')");      
        }
       }
       closedir($dh);
   }
}

Ocigledno negde gresim.
djLapac
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu20.01.2009. u 14:04 - pre 184 meseci
$thumb je resurs/objekat, nije slika.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
*.westend.com.

Sajt: www.websolutions.co.rs


Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu20.01.2009. u 15:22 - pre 184 meseci
da, to je tacno.
Lako bih ja da je to samo slika da ne treba da smanjujem
samo, fread(fopen(slika, rb), slika_size), ali problem je stomoram da je smanjim
e sada ja i znam jos jedan gluplji nacin a jeste da napravim smanjenu sliku bas kao fajl i kada je ovako unesem onda je izbrisem ali verujem da ima i neki jednostavniji nacin.
djLapac
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
79.101.164.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu20.01.2009. u 15:30 - pre 184 meseci
Sad mi pade na pamet, možeš da koristiš funkcije ob_start(); imagejpeg(); ob_get_clean(); da pokupiš slike?

Možda postoji i elegantnije rešenje, ali verujem da je ovo elegantnije od dampovanja svake slike u fajl i brisanja istog kasnije...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
*.westend.com.

Sajt: www.websolutions.co.rs


Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu20.01.2009. u 17:06 - pre 184 meseci
Code:

<?php
//obilazak direktorijuma i smanjenje slika i upisivanje u bazu
if (is_dir($dir)) {
   if ($dh = opendir($dir)) {
       while (($file = readdir($dh)) !== false) {
       $pos_gif = strpos($file, "gif");
       $pos_jpg = strpos($file, "jpg");
       $pos_png = strpos($file, "png");
       if($pos_gif===false && $pos_jpg===false && $pos_png===false){
          echo $file;
       }else{
           $filename=$dir."/".$file;
            // Get new sizes
            list($width, $height) = getimagesize($filename);
            $newwidth = 100;
            $newheight = 100;
            
            // Load
            $thumb = imagecreatetruecolor($newwidth, $newheight);
            $source = imagecreatefromjpeg($filename);
            
            // Resize
            imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
            ob_start();
            imagejpg($thumb);
            $out=ob_get_clean();
            mysql_query("INSERT INTO tabela (id, slika) VALUES (NULL, '$out')");      
        }
       }
       closedir($dh);
   }
}


Probao sam ovako ali nece, nista mi ne upisuje u bazu.

[Ovu poruku je menjao nezki dana 22.01.2009. u 17:26 GMT+1]
djLapac
 
Odgovor na temu

w3industry
Veljko Kovacevic
web developer, W3Industry
Kragujevac

Član broj: 181069
Poruke: 23
*.dynamic.sbb.rs.

Sajt: wwwindustry.net


+1 Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu21.01.2009. u 09:53 - pre 184 meseci
Jel moze pitanje, zasto stavljas slike u bazu? To se tako ne radi, baza ce ti biti ogromna i mozes da imas posle problema sa hostingom. Zasto samo slike ne bi smanjio u neki thumbs folder, a u bazu upisao samo ime slike. U template posle samo upises putanju i zvadis ime slike iz baze

/images/thumbs/$ime_male_slike
 
Odgovor na temu

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
212.200.65.*

Sajt: www.websolutions.co.rs


Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu21.01.2009. u 11:56 - pre 184 meseci
Evo da ti objasnim:
Sajt za koji ovo radim za hosting koristi dedicated server kod Euneta. Tako da mu pitanje velicine baze i slobodnog prostora nije uospte bitan.
Inace sajt se bavi prodajom artikala putem interneta i glavni deo sajta jeste prikaz slika artikala koji se prodaju. Te slike su formata 4000x4000 i poprilicno su velike. One se cuvaju na serveru u tri formata mali thumb 100x100 srednji thumb 300x300 i veliki thumb 1200x1200.
Glavni problem tog sajta jeste sto se slike sporo ucitavaju, jer se na jednoj stranici tog sajta prikazuju i do 40 malih thumb slika.
Da bi se to poboljsalo jedan od menadzera tog sajta koji je inace i programer rekao je da ce se ubacivanjem slika u bazu to poboljsati. Iako sam ga ja ubedjivao oni to zele da urade. Tako da je moje da im ubacim te slike u bazu i to je to.

djLapac
 
Odgovor na temu

w3industry
Veljko Kovacevic
web developer, W3Industry
Kragujevac

Član broj: 181069
Poruke: 23
*.dynamic.sbb.rs.

Sajt: wwwindustry.net


+1 Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu22.01.2009. u 12:34 - pre 184 meseci
Citat:
jedan od menadzera tog sajta koji je inace i programer rekao je da ce se ubacivanjem slika u bazu to poboljsati

O boze koji noob. Taj da zna nesto ne bi ti savetovao ovakvu glupost. Jednostavno nema sanse da ucitavanje slike iz baze bude brze od uzitavanja slike iz foldera.
Vec imas neke teme na ovom forumu sto se tice ubacivanja slike u bazu, pogledaj.

Ja bih ti preporucio da prvo smanjis slike, a u drugoj skripti da ih ubasis u bazu.

ovaj kod bi trebalo da ti radi
Code:

if(!$data = addslashes(@fread(@fopen($dir.'/'.$file, "r"), @filesize($dir.'/'.$file))))
{    
die('Cannot create $data');
}

//onda ubacis $data u bazu , polje u bazi treb da ti bude BLOB. 

@fclose($dir.'/'.$file); 
 


Ako mozes, tj. smes postavi link ka toj prezentaciji da se uveim kako se to thumbovi sporo ucitavaju.


 
Odgovor na temu

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
*.westend.com.

Sajt: www.websolutions.co.rs


Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu22.01.2009. u 13:07 - pre 184 meseci
Da tako sam i uradio na kraju. Prvo sam sve slike smanjio i onda ih ubacio u bazu nije bilo drugog nacina.
djLapac
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.adsl.gonet.rs.

Sajt: https://avramovic.info


+46 Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu22.01.2009. u 13:17 - pre 184 meseci
Bas me zanima zasto ob_start imagejpeg i ob_get_clean nije uradilo istu stvar. Trenutno nisam kod kuce ali (kad budem kod kuce) bas cu da pogledam da li isto vraca kao i citanje podataka iz fajla
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu22.01.2009. u 13:35 - pre 184 meseci
Nemanjin predlog s imagejpeg() kroz ob_start() je sasvim Ok.
Već sam ga negde koristio i radi.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

w3industry
Veljko Kovacevic
web developer, W3Industry
Kragujevac

Član broj: 181069
Poruke: 23
*.dynamic.sbb.rs.

Sajt: wwwindustry.net


+1 Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu22.01.2009. u 15:58 - pre 184 meseci
Ne ostavi link ka sajtu??

 
Odgovor na temu

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
*.westend.com.

Sajt: www.websolutions.co.rs


Profil

icon Re: Prebacivanje smanjenih slika iz foldera u bazu22.01.2009. u 16:10 - pre 184 meseci
Citat:
mVeliki: Nemanjin predlog s imagejpeg() kroz ob_start() je sasvim Ok.
Već sam ga negde koristio i radi.


Kazem vam probao sam. Nista mi ne upisuje u bazu. Moguce da sam negde pogresio. Eto ostavio sam kod pa ako neko uoci gresku nek mi javi.
A sto se tice sajta ne znam mozda je glupo da ostavljam linkove ovde.
Razlog zbog cega taj menadzer zeli da prebaci slike u bazu je jer on ima neku aplikaciju koju koristi za pretragu slika i njihov prikaz. Baza mu je u MySql-u i stvarno mu mozda oko 1000 slika prikaze u roku od 3 sekunde. Ali to je ipak desktop aplikacija. e sada bi oni isto to zeleli d aimaju i na webu
djLapac
 
Odgovor na temu

[es] :: PHP :: Prebacivanje smanjenih slika iz foldera u bazu

[ Pregleda: 2497 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.