[php] [mysql] jak wstawic obrazek do bazy ? (mala pomoc)

0

Robie ta przegladare zdjec i chcialem wstawic do bazy sobie zdjecie.
Oto kod jaki zrobilem:

<?
if ($action == "add") {

$sql = mysql_connect("localhost", "baza", "mojehaslo");
mysql_select_db("tabelka");


$image = $_FILES['userfile']['name'];

$image_type = $_FILES['userfile']['type'];

$image_size = $_FILES['userfile']['size'];

$image_temp = $_FILES['userfile']['tmp_name'];



     if (!$fh = fopen("$image_temp", "r"))
      {
         echo 'Nie można otworzyć pliku z katalogu tymczasowego';
         return FALSE;
      } else {
	
	$image_read = addslashes(fread($fh, "$image_size"));
	$zapytanie = "INSERT INTO comics(title,byte,image_type VALUES ('ten','$image_read','$image_type')";
	echo $zapytanie;
	$wykonaj = mysql_query($zapytanie);


	}

}

?>


<FORM ACTION="upload.php" METHOD="POST" ENCTYPE="multipart/form-data"
ACCEPT="image/gif, image/jpeg">
<input type="hidden" name="MAX_FILE_SIZE" value="112238192">
plik: <input name="userfile" type="file">
<br /><input type="submit" value="add" name="action">
</form>

Teraz kiedy wczytam jakis obrazek pokazuja mi sie dla przykladu takie krzaki:

˙Ř˙ŕ\0JFIF\0\

jak wywale wszystko i zostawie taka kropke
˙
to juz sie drze ze nie moze dodac.
Wstawialem do bazy do sql`a Od razu i sie drze ze nie moze wstawic :(
Pole w bazie typu BLOB to z wyczytalem gdzies ze takie ma byc.
Ale nie moge sobie poradzic. Co tuzrobic?

0

Hmm... Osobiście poradziłbym zamianę na base64 - będzie trochę wolniej, ale żadnych krzaków nie będzie i problem powinieneś mieć z głowy (p.s. base64 ZAMIAST addslashes, bo to ostatnie już nie będzie potrzebne).

0

JAk wczytuje z bazy z myAdmin i wtsaiwam do BLOBa obrazek to mam taki ciag:
0xffd8ffe000104a46494600010101004800480000ffdb004300010101010101[...]
Jak dodaje z base64 to mam:
9j/4AAQSkZJR[...]
To czyli na co to trzeba zamienic?

1 użytkowników online, w tym zalogowanych: 0, gości: 1