Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Teyras 17 Listopadu 2008, 10:51:20

Název: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 10:51:20
Zdravím,
Pokouším se vytvořit PHP skript pro upload obrázků do MySQL (do pole typu longblob) a následné vykreslení.
Obrázek načtu z formuláře přes
Kód: [Vybrat]
$fp = fopen($imagefile, "r");
$image = addslashes(fread($fp, filesize($imagefile)));
fclose($fp);
a vložím do databáze.
Pak vypisuji přes tuhle prasárnu
Kód: [Vybrat]
<?php
# Vložení přihlašovacích údajů, funkcí, spuštění sessions, připojení k MySQL
require "include/config.inc.php";
require 
"include/functions.inc.php";
init($server$login$pass$db);
# Ošetření ID
$id sprintf("%d"$_GET["id"]);
# MySQL příkazy
$query "SELECT * FROM ".$prefix."images WHERE id='".$id."' LIMIT 1";
$result mysql_query($query$conn) or die(mysql_error());
$data mysql_fetch_row($result);
$db_type $data[4];
$db_image $data[1];
$db_size $data[5];
$db_name $data[3];
# Vykreslení obrázku
header("Content-type: $db_type");
header("Content-length: $db_size");
header("Content-Disposition: attachement; filename=$db_name");
header("Content-Transfer-Encoding: binary");
header("Content-Description: PHP Generated Data");
echo 
$db_image;
?>

Bohužel obrázek to nezobrazí ani náhodou... Výsledek vypadá nějak takhle http://jbuchar.ic.cz/image.php?id=1 (http://jbuchar.ic.cz/image.php?id=1)
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 11:16:10
1. Pokud chceš nahrávat uploadovat soubory z formuláře, obvykle se využívá funce move_uploaded_file
2. není třeba proměnná $prefix prázdná?
3. zkus ještě nějaký kontrolní výpis před samotným vykreslením, jestli dotaz proběhl správně
4. mrkni na ošetření addslashes, stripslashes
5. googlem se dá najít návod 100%
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 11:25:31
1. Pokud chceš nahrávat uploadovat soubory z formuláře, obvykle se využívá funce move_uploaded_file
2. není třeba proměnná $prefix prázdná?
3. zkus ještě nějaký kontrolní výpis před samotným vykreslením, jestli dotaz proběhl správně
4. mrkni na ošetření addslashes, stripslashes
5. googlem se dá najít návod 100%
1) Dík, skouknu to... Určitě to tím hodím do MySQL?
2) Ne, není prázdná, je obsažená v config.inc.php
3) Výpis jsem zkoušel, všechno vypadá správně...
4) bez addslashes mi neprojde query
5) googlem jsem našel mrtě návodů, všechny na stejným principu co můj postup... Bohužel výsledek furt stejnej.
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 11:32:26
hoď sem ještě skript, kterým to dáváš do databáze a i ten formulář
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 11:36:59
hoď sem ještě skript, kterým to dáváš do databáze a i ten formulář
Máš ho mít...
Kód: [Vybrat]
<?php
# Vložení přihlašovacích údajů, funkcí, spuštění sessions, připojení k MySQL
require "include/config.inc.php";
require 
"include/functions.inc.php";
init($server$login$pass$db);
# Určení data a času
$month = (int)Date("m");
$date Date("H:i j.$month.Y");
# Zpracování proměnných z formuláře
if (!empty($imagefile) && !empty($title)){
$fp fopen($imagefile"r");
$image addslashes(fread($fpfilesize($imagefile)));
fclose($fp);
$type $imagefile_type;
$name mysql_real_escape_string($imagefile_name);
$size $imagefile_size;
$title mysql_real_escape_string($_POST["title"]);
};
# MySQL příkazy
$query "INSERT INTO ".$prefix."images VALUES ('', '".$image."', '".$title."', '".$name."', '".$type."', '".$size."', '".$width."', '".$height."', '".$date."', '".$_SESSION["user"]."')";
# Titulek stránky
$sitetitle "Nahrát obrázek";
# Hlavička
$cssnumber "2";
require 
"include/header.inc.php";
# Vložení obrázku do databáze / Výpis formuláře
if (!empty($imagefile) && !empty($title)){
mysql_query($query$conn) or die(mysql_error());
echo "Obrázek nahrán.";
}
else {
echo "<form action=\"uploadimage.php\" method=\"post\" enctype=\"multipart/form-data\">\n";
echo "<table>\n";
echo "<tr><td>\n";
echo "Popis obrázku\n";
echo "</td></tr><tr><td>\n";
echo "<input type=\"text\" name=\"title\">\n";
echo "</td></tr><tr><td>\n";
echo "Obrázek\n";
echo "</td></tr><tr><td>\n";
echo "<input type=\"file\" name=\"imagefile\">\n";
echo "</td></tr><tr><td>\n";
echo "<input type=\"submit\">\n";
echo "</td></tr>\n";
echo "</table>\n";
echo "</form>\n";
}
# Konec stránky
require "include/footer.inc.php";
?>

Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 12:00:23
no jelikož tvrdíš, že už to v databázi máš, tak asi bude problém až při tom zobrazení. Pár výhrad bych k tomu skriptu měl, ale funkční by to snad být mělo.
Jen mě napadlo, jestli není problém,
1. že ten soubor otvíráš tak nějak textově a ne binárně
2. opravdu pozor na ty uvozovky, to chce vysledovat
prostě aby nebyla porušena data

mrkl bych se přímo do databáze být tebou

Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 12:08:19
no jelikož tvrdíš, že už to v databázi máš, tak asi bude problém až při tom zobrazení. Pár výhrad bych k tomu skriptu měl, ale funkční by to snad být mělo.
Jen mě napadlo, jestli není problém,
1. že ten soubor otvíráš tak nějak textově a ne binárně
2. opravdu pozor na ty uvozovky, to chce vysledovat
prostě aby nebyla porušena data

mrkl bych se přímo do databáze být tebou
No, zkoušel jsem tam i přes PHPMyAdmina ten obrázek nahrát znova, pro jistotu, a dělá to to samý... Takže bych to viděl spíš na problém s tím výpisem... BTW jestli máš nějaké výhrady tak klidně napiš... Psal jsem to dost "horkou jehlou", sám bych si tam toho asi ještě dost našel
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 12:12:12
Trochu mi však uniká smysl toho skriptu, jestli to je jen pro tebe na vyzkoušení, pak budiž, ale pokud si má vybírat klient/uživatel svůj obrázek a nahrát ho k tobě na server do databáze, bude nutné to řešit asi jinak - viz můj první příspěvek (move_uploaded_file)
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 12:17:39
Trochu mi však uniká smysl toho skriptu, jestli to je jen pro tebe na vyzkoušení, pak budiž, ale pokud si má vybírat klient/uživatel svůj obrázek a nahrát ho k tobě na server do databáze, bude nutné to řešit asi jinak - viz můj první příspěvek (move_upload_file)
move_upload_file nenacpu soubor do databáze kdybych se měl ... :)
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 12:27:41
Jsi mě nepochopil, to neslouží k nahrání do databáze, pouze k bezpečnému přenosu souboru z klientského počítače k tobě do nějaké složky na serveru, kde ho můžeš bud nechat nebo dále zpracovat do databáze.
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 12:33:13
Jsi mě nepochopil, to neslouží k nahrání do databáze, pouze k bezpečnému přenosu souboru z klientského počítače k tobě do nějaké složky na serveru, kde ho můžeš bud nechat nebo dále zpracovat do databáze.
Jo takhle... A můžeš mi nějak naznačit jak to pak zpracuju do databáze?
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 12:46:34
pro ilustraci

Kód: [Vybrat]

if(isset($_POST['upload'])) // soubor je nahrán
    {
        // kontrola o jaké obrázky jde, to $_FILES je superglobální proměnná, které se pak právě dá s výhodou použít
        if (($_FILES['uploadedfile']['type'] == "image/gif")||
            ($_FILES['uploadedfile']['type'] == "image/jpeg"))
        {
       
           
            // dočasné umístění
            $tempfile = $_FILES['uploadedfile']['tmp_name'] ;
               
            // ted ten dočasný nahraný soubor od klienta musíš otevřít(b jako binary), ošetřit uvozovkami
            $data = addslashes(fread(fopen($tempfile, "rb"), filesize($tempfile)));
           
            // zjistíš nutné informace o tom souboru.
            $filetype = $_FILES['uploadedfile']['type'];
            $filesize = $_FILES['uploadedfile']['size'];
            $filename = $_FILES['uploadedfile']['name'];
   
            // vložíš do databáze
            $query = "INSERT INTO uploads (data,filename,filesize,filetype) VALUES ('$data','$filename','$filesize','$filetype')";
            mysql_query($query);
        }
       
        else
        {
            echo "blbej typ<br>";
        }
    }   
             
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 12:53:01
OK... zkusím ještě poštelovat ten fopen aby to otevíral binárně... pro jistotu...
EDIT: tak rozdíl veškerej žádnej...
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 13:06:28
tady je ten výsledek? http://jbuchar.ic.cz/image.php?id=1

proč se ten obrázek jmenuje image.php?id=1, to by znamenalo problém v header("Content-Disposition: attachement; filename=$db_name");

co vypíší tyto proměnné?
$db_type = $data[4];
$db_image = $data[1];
$db_size = $data[5];
$db_name = $data[3];

co přípona?
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 17:38:11
Kód: [Vybrat]
image/jpeg
ÿØÿà  JFIF     ` ` ÿÛ C                                                                 ÿÛ C                                                                 ÿÀ    @ 4  "       ÿÄ                      ÿÄ µ               }        !1A  Qa "q 2‘¡ #B±Á RÑð$3br‚      %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ                         ÿÄ µ                w       !1  AQ aq "2  B‘¡±Á #3Rð brÑ  $4á%ñ    &'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ          ? þ  óK{Øíã…àÒÆ« ñ-Óy¡-’+ƒp‹»&HR&` _(#¢<ŒÅÛY%Ò Ö¿±  If úsÞÜê35Ħޠ  g·³¶)nðÛlßkek  bB¬QqoŸJH ´±ƒ}Ä X¥¼$8¼7 7 THÑ«[†’Þ ”íó‹—ٷ鯅?²ýßÄË ¦ƒWšÎé’`Êmâû8ŸÈVc‘Ü<±­ÃªO'”S ‘  ’7&"½ 5'ZµGF ·´i6–—z©$åev×fÕÑ¥8J¤£ GžOT»í{í¢ÿ =Ïš'½³··ŠÞßLVhîÚæÏU¸7 ·—VJÏ Gq µÑ… õ$Éo0• ù~tC / Üx~÷Q‘¼^/ÞÉ¡M÷ d ÜB°É ‘™" ‰L4Øy  ],-<Ûdy ì¯ ÿ Á>h߈_ ´ÿ  ÅávšÊêxm ŒDÅ|=§ifeóu   NÂ8šT·´Ù µÇ(³¢_ÕO ÿ Á ¤´ñÞ™ ³âMKðѸ¶Xm¡‘­¬õyŒ–éwo<Ö òÝÅk ï  Ãp.&UUŠD ª< äY}©âs j¤éJ¬cF^Òn ÖwŽ”ºF·³|©#» •f iaåʤ¢Üí ß¾¶ºWÕÅ6¯Üþü5¡êz„ڍ®à›ß Û^;E¥ÞAo¨‹øái%³Y –²¬j/b í :I R«²F±-Å»} ã_„¿ | §x/öƒø£àtÑ4mNþËÚ Ñ–×EÔ’ðZ t‰¯4½9L "I`ŽiQ%½-c–á  ýrü'ÿ ‚}x á ©á7‡Hñ ÐÍs.ŸæÛÜ]èú fT‚ ,'e «,M3K7ú Á>Õmn  -kÉ?৿³‰ð—ì;ñ Z‚ÆÕ&Ðïìz4¥S’ Z3§i.mùþÒJêÝ÷?là’ ~/þÐ?°ÿ à ˆŸ ì5_ kÒK©øsG ig6¹á?  M Ãúýå½ÅýÙ[ËË{)-¦– E½Ð²K¸¡¶óͼEYÿ ‚"Câ  Á0ÿ eÝOÅ[./ÛÞ$·²¾¸Š ßRÐm¼mâ8´ ôŒ)  Æ’¶… ¥“r2Èå3q%J 8ƒ:¡N•*P£šc©B'zp¢[QŽq–šÖì[YªOy ¹Vò•ü¢Åз“ 5ñ§ƒ>!þÓ_·Oƒ¯î|a¢üEñï‡>)è>6Ót­z3§é^ Ñîìí5M(ʾ Ó.ona†=UdX&»r“IlÊ 1o$Göçã‡ü —à·ÇÛ_‡¿ ü+ ‹cgâß ÙŸì›í ]Ùiº÷‡àHnì ² –Þd¹ˆN³Ãw 7y ŠùŸ~˱ Ÿ tønìi4©Ê2QwŸ3¶°nÉEÉ7Ý$ùßø$ ÆŸŽ  ì ð3Àþ*øo«[ê  ôy| j²j·Q´šG‡D iS {   íV[9£d‚i®î¶âY®æ2‚ ý€ø?>•§ü?дí3E·´²Óc›LŠ=6ÎÚ  ´É[O–wÙ ,· ÉlÒÍ.Avl  Ñ_’湎  ™ãñ’Ë0ôåŠÆb1 ‚©6£*µ]Ijõz¶õín§Ü`ðUhá0Ô–2¬•*  Ÿ,5P„b·WÚ+î?Ì`þÆzw‡|ow j µK –ÇWÐu++‹†   šïM¼Rª°^@AM­wu Ñ äRÒ1Zýƒø4šE‰Ò,õˆ,‹[ÚM |>Уz © ê˜Ë h™Ù£É æóGøùñMum µO kò閚厧-¸¹X¡¡½ŽäÈ‘[¤ C Š& hRÕ ŒB3¶¿sbñ´CLµšÚTI. ‚â)"+åÝ ˆDÀÇ!aæ†w!Ë žrWêŽ#Âf. Zxªë Χ *JJÓŠ„e-RIÉ8¶–‰«ìÙøæ][  Ô•*n 2‹jr½Õô“Õ&š×{ísú ø[ð§öÖth5}kÁQÞJ`Gw¹×ocEehåE¸‚ÚæÆ RYSyW˜E ÷W9g‘¼+öŠñ †añ/†~ ø Ãö·±Y}¢m;AÑþÍaiko E6ã™Q&tfUw¸i%ŽF, ~ ~q|(ý¢$ÔV8¬…ݾ£ sÙZÅ ZYÂ$o:g–F<8ž ÃåøÊÕ*UŽ:–2£q¢èΓUd¯ ÒU k¹Ê|©IGÙÝÊRoDuRÍjbèB ƒÃ΄Wïy£$àœnêrÞ›Š‹“µÜšÑhD±¯Ä»]à'†õ½~ÑfÔõ=cÅ—s ‡µi  ÄzŠÀ›fd…<”GŽ'D`Ž¬ÛÙÚY ÿ /ÿ Œ_´ÇÄÏ üXøã |Añ燴_ xÃYÕô­'JñV½¤ZÚér}ŸJCca¨Ãm ÂévöIpQ>iQ‰'­ ëUðB®*¤ñ/<§†uåíž `ªÍPu9dé),dT½›n QŠvME&э>> Bö|ªªQTÕO¬F>ÑBÑçåö/—™&íwkÚïuólhe’8Ô€Ò: $à ì  { O'Ò¿_ü=ww¯ü Ðnt™%¹ñ ‚l O’ H‘¯ì,Ô ² ópÖð¼°LI(Ø2…Ž}çñ÷§Jûÿ öaø‘17:móÈ`¸+ Ë™”´w^Dp GîÔ*Ì   _Í !àâ%)ûfuFU(S« Í,=Oin’NÑq~RÓÛÖí  ‚š…W mR<—ìÛM?TÖ–ü®}SðSö‰ z¶¡¢F—útø»Ó/vÇ1G ;‹ymä £ ’`èG–$fC¸ù˜ý ¹Õ|?ñ£OA †4a{v y æÆÔ#8Ø$ o2²RDm¯#oàù ñ«à¤×·Ï㿇÷GLñ"bòô@~Ç øÜÉ#2,   Ç  ín F U?1¯ð[öÀñÏÃmJ +Æ cÞÉa0‰Ú ÝA"F?zÑK”Œä!i Bž_ÎDeQ×äq¹L1´Ö3-quà­:r›…Hí.] SW²‹Ñ­}_«G ,<½†%^œš´’æƒ[)w‹³Õm¶É#öÿ á¿ì¥ñ;R¸ :]” >Ÿ¥·Úî.EÅýü ð‚B}žÛ- ¸2 X¢i  ÕK1Û  Ïø+/ˆÏìûû é  : >=ø½â­;Ã7’µÚÜj3h my©kÌÎ I bÊÅt›Ø ãmMb ä±ó_ ÁO|wᯅZï‰ü?àÉ/´_ éwzœ··sØÄ̶4’ 2K%ÍÔí ‚=‰ pl!YÀ]ËøCûþØŸ ¿m  é¾"ñÔÂßKðÝ­ä  ðí´Žözb^É º•ûá  öüÛÛ Ù#XãŠÞ(¡BD’Káä¹ w˜g˜lVc  °9f)W©i©Õ«Z”y©R”nä¯S–¤¯d¢ží«ú ÌÇ ‡ÀÕ¥…•Y×ÅRäNQj0ŒÜTä›I|7K•]·½µ>:¢µ$ѵ  y ÁPÀÇ" É#   ¬1ʲ† dsE~Áí!üñÿ À—ùù¯¼øãÿÙ
4336
208125521.jpg
Je to v pořadí type, image, size, name :)
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 18:09:26
já jsem si to zkusil cvičně napsat a jede mi to, je pravda, že to move_uploaded_file asi ani nepotřebuješ.
mám to takto, tak zkus:
Kód: [Vybrat]
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Type: $type");
header("Content-Disposition: attachement; filename=$name");
header("Content-Length: $size");
header("Content-Transfer-Encoding: binary\n");
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 18:20:35
problém může být už asi jedině v tom typu, zkoušej různé
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 18:23:42
Huh, když ti to fachá, můžeš poslat zdroják toho uploadu a zobrazování obrázků? Tím by se mi to asi celkem zjednodušilo :)
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 18:34:11
co používáš za prohlížeč?
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 18:41:13
furt se mi nezdá, že se ti to i jmenuje jinak než má, to je fakt divný. Máš tam attachment nebo attachement?
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 18:43:20
furt se mi nezdá, že se ti to i jmenuje jinak než má, to je fakt divný. Máš tam attachment nebo attachement?
attachement, prohlížeč Konqueror, ale Iceweasel se to pokouší stahovat a Opera zobrazí prázdnej obrázek...
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 18:46:41
tak zkus attachment jako příloha
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 18:54:10
tak zkus attachment jako příloha
Tak teď mi to ten soubor nabízí stáhnout i v Konqueroru, problém je že to nic nestáhne...
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Marek_ 17 Listopadu 2008, 18:59:11
No vidím:-) tak ale uspech, už je typ správně, velikost správně, jméno správně, ted už ti chybí jen ta data z databáze.
za ty všechny headers dej : echo $data;
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 17 Listopadu 2008, 19:06:43
No vidím:-) tak ale uspech, už je typ správně, velikost správně, jméno správně, ted už ti chybí jen ta data z databáze.
za ty všechny headers dej : echo $data;
To samý... zkoušel jsem pro jistotu i $db_image ale bez výsledku...
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 18 Listopadu 2008, 15:19:43
Nejlepší by pro mě asi bylo kdybys mi poslal ten svůj zdroják se kterým ti to funguje.... Pěkně prosím :) Tak aspoň zjistím, jestli je chyba u mě a nebo u hostingu...
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: sirkubador 20 Listopadu 2008, 16:15:35
Proč to musí být tak nutně přímo v databázi? Není to kapku neekonomické? Nestačilo by v databázi uchovávat jenom adresu obrázku někde ve složce? Ale je pravda, že záleží na důvodu, proč konkrétně musí být obrázek přímo v db. (Jinak možná skočit na diskuse.jakpsatweb.cz, tam je to přece jenom specializovanější a mohlo se to tam už řešit)
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 20 Listopadu 2008, 19:34:06
O tu MySQL mi jde vcelku z akademickýho zájmu :) Prostě to plácnout na server je taky řešení, možná lepší, ale já bych to rád rozchodil takhle :D
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Martin Kiklhorn 20 Listopadu 2008, 20:19:18
vidim addslashes, nevidim stripslashes

nevidim test na magic_quotes
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 20 Listopadu 2008, 21:24:31
vidim addslashes, nevidim stripslashes

nevidim test na magic_quotes
Stripslashes uz tam je... magic_quotes zkusim osefovat
EDIT: Huh, můžeš mi osvětlit co s tím můžou mit magic_quotes společnýho?
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Martin Kiklhorn 20 Listopadu 2008, 21:37:35
Stripslashes uz tam je... magic_quotes zkusim osefovat
EDIT: Huh, můžeš mi osvětlit co s tím můžou mit magic_quotes společnýho?
Kdysi jsem měl problém popsaný v poznámce o jpeg tady: http://www.linuxsoft.cz/article.php?id_article=420 (http://www.linuxsoft.cz/article.php?id_article=420) a mohla za to kupodivu kombinace slashes s magic_quotes. Jsou velmi nepravděpodobné věci mezi nebem a zemí...
...které když vyřešíte až po třech týdnech usilovných snah si zapamatujete až do smrti.

Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Teyras 20 Listopadu 2008, 22:17:32
A řešení si pamatuješ? :)
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: Martin Kiklhorn 20 Listopadu 2008, 22:30:42
jedno je popsané v tom odkazu (base64), mne snad pomohlo buď vypnout magic nebo nepoužívat addslashes. Nakonec jsem stejně zjistil že je nesmysl ukládat obrázky do databáze (generuje to při větším množství obrázků hroznou zátěž databáze), stačí je automaticky přejmenovávat a do db dát jen jméno souboru.
Název: Re: PHP - upload obrázků do MySQL
Přispěvatel: sirkubador 21 Listopadu 2008, 00:06:27
K addslashes - jelikož v PHP6 magic už pravděpodobně nebude, možná by bylo lepší poohlédnout se třeba po něčem kapku univerzálnějším, tedy addslashes, které umí odhalit, zda se už náhodou nějaká podobná funkce nepoužila a nechat to zaslashované jenom jednou, a to dělat u všeho, co jde do db - na php.net bylo kdysi hned několik příkladů, jak to udělat (diskuse pod fcí addslashes myslím).

S akademickým zájmem je kříž... Předem můžu říct, že to s větším či menším úsilím půjde, ale není to rychlá, elegantní a hlavně ekonomická varianta, které by se měli programátoři čehokoliv držet.

http://www.anyexample.com/programming/php/php_mysql_example__image_gallery_(blob_storage).xml (http://www.anyexample.com/programming/php/php_mysql_example__image_gallery_(blob_storage).xml)

Tady jsem něco málo k jakési BLOB galerii našel.