Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php,mysql] Galeria na MySQL
Forum PHP.pl > Forum > Gotowe rozwiązania
kulfoniasty
mam problem z galerią w php. Zjęcia wyswietlam za pomocą pliczku img.php który odbiera id rekordu w tabeli i wybciąga kod obrazka. A problem jest następujący: ja obrazek jest mniejszy od 100kB to nie ma najmniejszych problemów z wyświetleniem, ale jak juz jest odrobine wiekszy to ucina go u dołu i nie ładuje całego. Jak można temu zaradzic questionmark.gif

Z góry dzięki winksmiley.jpg
spenalzo
A my oczywiście wiemy co to za galeria, gdzie ją można zobacyzć w działaniu i jakiś przykłądowy kod też znamy, tak?
Seth
php >> Skrypty
kulfoniasty
heh, myslalem ze tylko teroetycznie wystarczy, typu czas ladowania strony itp. ale spoko. dzialanie jest tu: http://hosted.fpp.pl/gryvideo/?what=art, wyswietla obrazki przy artykulach. Dokaldnie chodzi o ten pierwszy bo jemy tam jeszcze na dole troche brakuje.

Teraz kody plików:

img.pbp
[php:1:f9a34bbc81]
<?php
set_time_limit(0);
ignore_user_abort(TRUE);

$id = @$_GET["id"];
include_once("conect.php");
$link_ida = db_connect("gry_video");

$q = "SELECT * FROM `obrazki` WHERE id='".$id."'";
$za = mysql_query($q,$link_ida);
if ($za){
$q = mysql_fetch_array($za);
mysql_free_result($za);
header("Content: image/".$q["ext"]."");

print($q["kod"]);
}else{
print("dupa");
}
?>[/php:1:f9a34bbc81]

NO i problem już znacie. Nie laduej calego, ale nie wiem po prostu czy nie wrzuca calego czy nie odczytuje calego. Plik do uploadu:

upload.php
[php:1:f9a34bbc81]
<?php
ini_set("SHOW_ERRORS", "1");
include("conect.php");
$link_id = db_connect("gry_video");
if ($_FILES["userfile"]["tmp_name"]){
$r = $_FILES["userfile"]["name"];
$roz = strrchr($r, ".");
$roz = substr($roz,1);

$o = fopen($_FILES["userfile"]["tmp_name"], "rb");
$od = fread($o, filesize($_FILES["userfile"]["tmp_name"]));
fclose($o);
if (@$_GET["mode"] != ""){
$l = @$_GET["id"];
}else{
$zap = "INSERT INTO `obrazki` SET id=''";
$s = mysql_query($zap, $link_id);
$l = mysql_insert_id();
}

print("<script>window.opener.ad.IDob.value='".$l."'</script>");
$q = "UPDATE `obrazki` SET `kod`='".mysql_escape_string($od)."',`ext`='".$roz."' WHERE `id` LIKE '".$l."'";

if (mysql_query($q, $link_id)){
print("<script>this.close();</script>");
}else{
print("błąd! ".mysql_error());
}
}else{
print("a gdzie plik??");
}
?>
[/php:1:f9a34bbc81]

to mniej wiecej tyle kodów, jakieś propozycje WHY sie tak dzieje questionmark.gif dodam ze do testow używalem zarowno bazy na freesql.org, jak i na tym hosted.fpp.pl - razem z kontem.
spenalzo
Musisz dać typ LONGBLOB (lub LONGTEXT) dla pola w którym trzymasz zdjęcie, ponieważ standardowe pole BLOB (czy TEXT) mieści do 64 kB (65536 znaków), co powoduje obcinanie większej ilości znaków, a co za tym idzie ucinanie obrazków.

PS. Ale mogłeś napisać od razu, że chodzi o MySQL :-) [-X
kulfoniasty
ehhh winksmiley.jpg dobry jestes. Popatrz w temat. specjalnie napisalem "[php,mysql]" ;P
spenalzo
Cytat
ehhh winksmiley.jpg dobry jestes. Popatrz w temat. specjalnie napisalem "[php,mysql]" ;P

No fakt biggrin.gif Ale w treści nie było.
Działa teraz?
kulfoniasty
o masz tego akurat zapomniałem napisać: TAK DZIAŁA MNIODZIO, wielkie dzięki winksmiley.jpg
POLVIP
nie lepiej ci jest zaladowac te obrazki do folder na server i dodc tylko link do SQL, dzieki temu mozesz nawet zrobic bardzo latwe efekty bez obciazania mySQL
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.