A drupal szépen kiszolgálja képek feltöltését és megjelenítését, de írtam egy egyszerű (számomra bonyolult) blokkot ahol bizonyos szavakra kigyűjtödnek képek. A probléma ott van, hogy az itt megjelenő ékezetes és egyéb nyalánkságokat tartalmazó képek nem jelennek meg. Mi lehet a gond. MYSQL lekérés után kell még valamit csinálni a fájlnévvel?
példa: http://retronom.hu/index.php?q=node/11318
Az oldal legalján néhány kép nem jelenik meg (Telefonszám regiszter 1. és 2.). Ezek ékezetesek, de drupal által generált lekérdezéseknél megjelennek - bal oldalt friss beküldések.
Előre is kösz a segítséget.
Drupal verzió:
Fórum:
Én az alábbi szabályt ajánlom
Én az alábbi szabályt ajánlom neked: nagybetűket, és ékezetes karaktereket ne használj fájnévben (főleg ne az interneten). Én még az üres helyeket is feltöltöm _ karakterrel. Csak bajod lesz a kis és nagybetű váltással, és az ékezetekkel.
...mit tudok: http://web.termuves.hu
mindig mindenhol
És ezt a módszert ne csak ebben a konkrét esetben alkalmazzuk, hanem mindig.
Sajnos
ezeket a képeket nem én töltöm fel, hanem a felhasználók. Nekik pedig mindent szabad :-)
fájlok átnevezése
A feltöltésnél nevezd át a fájlokat és inkább egy kapcsolódó cím vagy leírás mezőt használj a szűréshez.
Egy valamit akkor se értek!
Views által generált listában látszik az ékezetes kép, az én általam lekért php-ból kinyert listában nem látszik.
Ezt hogy érted: nevezem át a feltöltött fájlokat. Hol?
esetleg ha megmutatod a php-t
esetleg ha megmutatod a php-t akkor lehet hogy tudunk segiteni, amugy meg menem csinalod akkor views-al ha azzal megy?
---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.
van egy lekérés... $result =
van egy lekérés...
egy ciklus...
kiírás:
van itt más is, de ez a lényeg
sajnos ezt az ajánló modult nem tudom megcsinálni view segítségével:
első és második szóra kigyűjti külön a találatokat és egyszerre is
pl. "videoton hangfal"-ra kidobja:
- videoton hangfal
- videoton
- hangfal
találatokat.
néhány dolog, amire érdemes rászokni
nem csinálunk ilyet, hogy print div class a href img src pera perdiv!!!
ennél sokkal okosabb a drupal.
van l() függvény, van theme('image' .. hurok azokat illik használni. (keresd meg az l -t és a theme_image -t az api.drupal.org -on!!)
lehetséges, hogy ha használod őket, akkor jó is lesz élből, bár nem tudom, lehet, hogy csak akkor ha unicodeként mented a modulodat.
-
clear: both;
ez így sehogy sem jó
ahogy aboros is írja, de nem az ékezetes fájlnevekkel van a probléma, hanem a szóközökkel és az egyes tagek paramétereinek megadásával, ugyanis a szóközöknél megtörnek az értékek és innentől kezdve nem értelmezhető a böngésző számára.
Ez a kiíratásod eredménye:
és így lenne "jó":
Mükszik!
sgabe: köszönöm a javítást és a filefield paths ajánlót (hasznát fogom venni)
aboros: teljesen igazad van, sajna még én nem vagyok elég okos a drupalhoz
tanulj tinó
a lényeg, hogy ne hagyd így! valahol el kell kezdeni...
Na ne már!
Nézzünk bele az l függvény kódjába! Látod, hogy abba egy ilyen van: check_url(url($path, $options)) Az egyik szűri az xss támadásokat a másik meg korrekt url gyárt. Használjuk már azt a tudást amit az évek alatt a profik beletoltak a kódba. Javasoljuk az l függvény használatát.
Már elnézést, de ilyenkor mindig leakadok, ha ilyet látok. Minimum egy url_encode-ot rá kéne engedni arra a nyamvadt fájlnévre! Ez nem Drupal és nem is PHP, hanem alap webes alkalmazás fejlesztés kérdéskör.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
unicode
ezt a "phpból kinyerést" egy fileban csinálod? netán egy .tpl.php -ban? vagy egy node törzsében php beviteli forma?
ha file, akkor szerintem azért van a hiba, mert az általad írt php file nem unicode hanem mondjuk ansi kódolással mentett és már bukod is az ékezeteket. ha pl beleírod a page.tpl.php -ba valahova, hogy "végtelen valószínűtlenség hajtómű" és elmented, krikszkrakszok lesznek az ékezetek helyén. a php egyelőre még nem unicode. elmentheted ugyan unicodeként, de inkább ne csináld.
ha nem file, hanem egy node törzse, akkor elvileg mennie kell, bár lehet hogy ez attól is függ hogy a kliens milyen oprendszer/böngésző párossal támad, nem tudom.
-
clear: both;
Igen
a hiba biztos itt van elásva. Ez egy blokk php kóddal.
vezérjelek a fájlnevekhez
Ne a feltöltött fájlokat nevezd át, hanem már a feltöltésnél nevezd át a fájlokat. Van erre modul, ahol vezérjeleket használhatsz a fájlnevekhez, próbáld ki.
Ha még működne is az ékezetes csilicsálé fájlnevekkel, akkor is ez a legjobb megoldás szerintem...
transliteration
Esetleg (nem próbáltam) a Transliteration modul segítségedre lehet.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
működik
ez teljesen jól működik csak arra vigyázz h amit eddig feltöltöttél file-t azoknak a neveit nem
fogja átnevezni
csak rakd fel engedélyezd és próbálj feltölteni egy olyan file-t aminek a nevében ékezetes betű szerepel látni fogod h az ékezetek ki fognak nyíródni
mini