Poslao: 05 Jun 2008 12:57
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
taman sam pomislio da nesto znam kad problem sa slikom mnogo sam googlao i slaba vajda evo mog koda koji ne radi sa blob poljem.
pozzzzz
mycity.rs/must-login.png
Dopuna: 05 Jun 2008 12:57
nesto sam uspeo ali mi prikazuje samo karaktere umesto slike. Prvo sam klreirao tablu
$d_query="CREATE TABLE `testblob` (
`id` int(11) NOT NULL auto_increment,
`image_name` varchar(100) default NULL,
`image_size` int(100) default NULL,
`image_type` longblob,
`image` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";
echo"<br>SQL query: <br>$d_query<br>";
mysql_query($d_query);
echo "<br>Pravim tabelu u bazi podataka..... OK<br>";
pa uupload
<body>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<p>
<input name="userfile" type="file" id="userfile2">
<input name="upload" type="submit" class="box" id="upload2" value=" Upload ">
</p>
</form>
</body>
</html>
<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$link = @mysql_connect("localhost", "", "") OR DIE (mysql_error());
@mysql_select_db ("test") OR DIE ("Unable to select db".mysql_error());
$query = "INSERT INTO testblob (image_name, image_size, image_type, image) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Greska! Upit neuspesan');
echo "<br>File $fileName uploadovan!<br>";
}
?>
i prikaz
// Ispisujemo
while ( $row = mysql_fetch_array($query) ) {
$id = $row["id"];
$image_type = $row["image_type"];
$image_blob = $row["image"];
echo"
<table width='500' border='1' align='center'>
<tr>
<td width='500'>redni broj slike $id tip slike $image_type <br></td>
</tr>
<td width='500'><img src='$image_blob' width='200' height='200'></td>
</tr>
</table>";
}
gde je greska?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 05 Jun 2008 23:02
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Ovaj content ...src='$image_blob'... odnosno SRC ti mora biti odvojeni file kojem ces recimo proslijediti ID i koji ce ti generisati sliku.
moraces da koristis header();
Ako bude problema javi.
|
|
|
|
Poslao: 07 Jun 2008 17:58
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
// Ispisujemo
while ( $row = mysql_fetch_array($query) ) {
$id = $row["id"];
$image = $row["image"];
$image_blob = $row["image_blob"];
echo" Redni broj $id <br>";
echo" Ime slike $image<br>";
/////echo" SLIKA $image_blob <br>";
header('Refresh: 0; url=prikaz1.php?id=1');
heder output started inffo........????'''
ajd pomozi
|
|
|
|
Poslao: 07 Jun 2008 20:34
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
// Ispisujemo
while ( $row = mysql_fetch_array($query) ) {
$id = $row["id"];
$image_type = $row["image_type"];
$image_blob = $row["image"];
echo"
<table width='500' border='1' align='center'>
<tr>
<td width='500'>redni broj slike $id tip slike $image_type <br></td>
</tr>
<td width='500'><img src='slika.php?id={$id}' width='200' height='200'></td>
</tr>
</table>";
}
a file slika.php bi ti izgledala ovako
<?php
$ID = (int) $_GET['id'];
$link = @mysql_connect("localhost", "", "") OR DIE (mysql_error());
list( $ImageName, $ImageContent ) = @mysql_fetch_row(
@mysql_query( "SELECT image_name, image FROM test.testblob WHERE id={$ID} LIMIT 1", $link ));
$Parts = explode('.', $ImageName );
$Extenzija = $Parts[ (count($Parts)-1) ];
header("Content-Type: image/{$Extenzija}");
print $ImageContent;
?>
Mislim da ti je sad jasnije sta sam htio reci.
Inace ovo nije dobar nacin za cuvanje slika. Kada je uploadujes, kopiras je u neki folder a u bazi samo cuvas putanju do nje.
|
|
|
|
Poslao: 09 Jun 2008 13:11
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
sadami tvoj kod prikaze mesto za sliku i crveni krstic.
imas li neki dobar link?
ja radim sa php 4.39
Dopuna: 09 Jun 2008 13:11
mozda mi nije dobro konfigurisana baza a mozda nisam dobro ni upisao
|
|
|
|
Poslao: 09 Jun 2008 14:45
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Brate ne treba ti link, ali sledeci put pokusaj sam. Prvo pogledaj query za kreiranje baze
`image_type` longblob,
`image` text,
Mislim da si zamislio da ti image bude longblob?
Kada to ispravis, slika.php mozes ostaviti, a mozes staviti i ovu bolju verziju, posto nisam primjetio da cuvas image_type.
Znaci:
<?php
$ID = (int) $_GET['id'];
$link = @mysql_connect("localhost", "", "") OR DIE (mysql_error());
list( $ImageType, $ImageContent ) = @mysql_fetch_row(
@mysql_query( "SELECT image_type, image FROM test.testblob WHERE id={$ID} LIMIT 1", $link ));
header("Content-Type: {$ImageType}");
print $ImageContent;
?>
I ovo ima da leti
|
|
|
|
Poslao: 09 Jun 2008 18:36
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
uradio sam ponovo i isto evo ovako create:<?
$dbhostname = "localhost";
$dbusername = "";
$dbpassword = "";
$database = "test";
$tabla = "testblob";
mysql_connect ($dbhostname , $dbusername , $dbpassword) or die("nema veze sa MySQL");
mysql_query(" CREATE DATABASE " .$database ) or die("ne mogu da kreiram bazu $database ili ona postoji");
$dbname =
mysql_select_db ($database) or die ("ne mogu selektovati bazu $database ");
echo "selektovana baza $database ";
$d_query="CREATE TABLE `testblob` (
`id` int(11) NOT NULL auto_increment,
`image_name` varchar(100) default NULL,
`image_size` int(100) default NULL,
`image_type` int(100) default NULL,
`image` longblob,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";
echo"<br>SQL query: <br>$d_query<br>";
mysql_query($d_query);
echo "<br>Pravim tabelu u bazi podataka..... OK<br>";
?>
uppload:
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<p>
<input name="userfile" type="file" id="userfile2">
<input name="upload" type="submit" class="box" id="upload2" value=" Upload ">
</p>
</form>
</body>
</html>
<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
echo"fileName --- $fileName<br>";
echo"tmpName --- $tmpName<br>";
echo"fileSize --- $fileSize<br>";
echo"fleType --- $fileType<br>";
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$link = @mysql_connect("localhost", "", "") OR DIE (mysql_error());
@mysql_select_db ("test") OR DIE ("Unable to select db".mysql_error());
$query = "INSERT INTO testblob (image_name, image_size, image_type, image) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Greska! Upit neuspesan');
echo "<br>File $fileName uploadovan!<br>";
}
?>
prikaz:
// Ispisujemo
while ( $row = mysql_fetch_array($query) ) {
$id = $row["id"];
$image = $row["image"];
$image_type = $row["image_type"];
echo"
<table width='500' border='1' align='center'>
<tr>
<td width='500'>redni broj slike $id <br></td>
</tr>
<td width='500'><img src='slika.php?id=($id}' width='200' height='200'></td>
</tr>
</table>";
}
slika:
$ID = (int) $_GET['id'];
$link = @mysql_connect("localhost", "", "") OR DIE (mysql_error());
list( $ImageType, $ImageContent ) = @mysql_fetch_row(
@mysql_query( "SELECT image_type, image FROM test.testblob WHERE id={$ID} LIMIT 1", $link ));
header("Content-Type: {image/$ImageType}");
print $ImageContent;
prikaze mi mesto za sliku i crveni krstic, a kad citam sliku ovako
<td width='500'><img src='$image' width='200' height='200'></td>
onda prikaze samo karaktere, mozda je grreska u poljima baze
|
|
|
|
Poslao: 09 Jun 2008 21:19
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Uh brate nista ti ovo ne kontas.
Vidi ovo ti je gore gotovo rjesenje, meni radilo.
Kazes
Citat:mozda je grreska u poljima baze
Pa imas 5-6 polja i kazes mozda je greska, pa za 1,4 sekundi to skontas da li je greska.
Sto ti je image_type int, treba valjda varchar, ovo mi sve izgleda kao da hoces da se zajeb... ?
I dalje, sa cim gledas da li ti je baza - tabela kreirana?
Budi siguran za bazu, a za ostalo se ne brini.
|
|
|
|
Poslao: 11 Jun 2008 11:36
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
nije mi do sale u tome i jeste fazon kako da definisem koje polje za sliku do sada sam radio samo sa tekstom ,ovo je moj rad
refillpen.com/bkoglasi/prikaz.php?strana=1
Bazu i table gledam total komanderom i koji alat preporucujes
|
|
|
|
Poslao: 11 Jun 2008 14:54
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Ja vec par godina koristim Navicat for MySQl, ali ako ti nije do placanja skini Mysql Front,
|
|
|
|