- Kicsomagolták a Vivo X Fold 5-öt (videó és fotók)
- Szerkesztett és makrofotók mobillal
- iPhone topik
- Honor 200 Pro - mobilportré
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Milyen okostelefont vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- VoLTE/VoWiFi
- Samsung Galaxy A54 - türelemjáték
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
URL esetén (mint nálad a gfonts) teljesen felesleges az assetic, linkeld úgy, mintha Sf nélkül tennéd.
Assetic akkor jön a képbe, amikor helyi erőforrást szolgálsz ki, ezeket tudja jól összepakolni egybe, esetleg minimalizálni, illetve persze az assets:install után a helyes linket megadni.
-
Speeedfire
félisten
DATE_FORMAT(FROM_UNIXTIME(`comment_date`), '%Y') as "comment_year",
DATE_FORMAT(FROM_UNIXTIME(`comment_date`), '%m') as "comment_month" FROM commentsVagy a where részbe rakod, nem tudom pontosan mi a cél vele.
select
a.*
from
comments
where
DATE_FORMAT(FROM_UNIXTIME(`comment_date`), '%Y') as "comment_year" > :pelda
and DATE_FORMAT(FROM_UNIXTIME(`comment_date`), '%m') as "comment_month" > :pelda -
Sk8erPeter
nagyúr
"Archívum létrehozására mi a legjobb módszer? Hogyan tudnám legokosabban kinyerni a hozzászólásokhoz tartozó dátumból (int) az évszámokat, hónapokat?"
Na de most akkor melyik a kérdés?Mit értesz archívum létrehozása alatt?
Dátumra:
http://php.net/manual/en/class.datetime.php
arra viszont figyelj oda, hogy a DateTime konstruktora NEM UNIX timestampet vár, de erre is van megoldás:
http://www.php.net/manual/en/datetime.settimestamp.php
(vagy inicializálás előtt konvertálod date()-tel...) -
Tele von Zsinór
őstag
-
Petyyyyy
addikt
Biztosan nem valami elegáns és nem a legegyszerűbb, de pl. így?
$s1="/home/mobal/files";
$s2="/home/mobal/valami/files";
$pos=0;
$i=1;
$hossz=strlen($s1);
for($i;$i<$hossz;$i++)
{
if($s1[$i]==$s2[$i])
$pos++; //idáig egyezik a két string
}$uj_ut1=substr($s1,$pos);
$uj_ut2=substr($s2,$pos);
echo "$uj_ut1 <br> $uj_ut2<br>"; // ellenőrzéshez -
csimmasz
aktív tag
Szia, köszi a választ.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$
RewriteRule ^/?$ "http\:\/\/maindomain\.com\/" [R=301,L]Enyi ezt csinálta a www/http átirányitás a honlapon,.
Az aldomain létrehozásakor asszem üres volt persze lehet hogy az ftp föl le töltögetésnél valahogy átirtam de nem valószínő mert a back up banm sincs semmi a htaccess file benA shop htaccessőt meg a prestashop generálta automatikusan, arra is szükség van?
-
cucka
addikt
Kapcsolótáblára akkor van szükség, ha egy bejegyzésnek több szerőzje is lehet.
Tehát ha pl. a közeljövőben szeretnél olyan fícsört, hogy egy bejegyzést több felhasználó is szerkeszthet, és ezt a rendszer nyilván is tartja, akkor készíts kapcsolótáblát.Ha egy bejegyzésnek pontosan egy szerzője van, akkor a többiek által leírt megoldás a nyerő.
-
cucka
addikt
Azt, hogy az adott osztályt a gyökér namespace-ben keresse a php.
Amikor hivatkozol egy osztályra, azt mindig az aktuális namespace-ben fogja keresni a php. Tehát ha a kódodat berakod egy saját namespace-be, akkor így szólsz a php-nak, hogy a hivatkozott osztályt melyik namespace-ben keresse.
Ilyen esetekre van a "use", amivel be tudod húzni a "neveket" a saját namespace-edbe. -
WolfLenny
senior tag
Nem működik..
$zzz="select date,act_week($date) from proba_tabla";
$hho=$havidb->execute($zzz);Eredménye:
(mysql): select date,act_week() from proba_tabla
--------------------------------------------------------------------------------
1305: FUNCTION lv_data_2012.act_week does not existNem értem miért nem a proba_tabla-ből szedi?
-
ahetaton
csendes tag
Szia!
Ezt már próbáltam, sajnos nem sok sikerrel.
Beillesztettem az Array(" ide ")közé, de semmi.Pedig sima lekérdezésnél még anno használtam is.
Mintha, nem illene a kódhoz, vagy én már nem tudom mi lehet a gond.Ráadásul ha nem szűröm semmire, akkor magától beteszi az összese, pedig sehol nincs ilyen parancs:
SELECT* FROMfunction db_mentese(){
$backup_file = 'product_database.sql';
$fp = fopen($backup_file, 'w+');
$alap = "# Products";
fputs($fp, $alap);
//Itt felsrolsz annyi táblát amennyi kell. Vagy beolvastatod az összes táblád nevét.
$pro = array("jos_vm_product");
//Táblák kiíratása
for($k=0; $k < count($pro); $k++){
$tabla=$pro["$k"];
$oszlopok='drop table if exists ' . $tabla . ';' . "\n" .
"create table ".$tabla . " (\n";
//Oszlopok kiíratása
$oszlop_lista = array("SELECT product_name FROM $tabla ");
$tabla_oszlop = mysql_query("show fields from ".$tabla." ");
for($i=1; $i <= mysql_num_rows($tabla_oszlop); $i++){
$tabla_oszlop_nevek["$i"] = mysql_fetch_assoc($tabla_oszlop);
$oszlop_lista[]=$tabla_oszlop_nevek["$i"]["Field"];
$oszlopok.=" ".$tabla_oszlop_nevek["$i"]["Field"]." ".$tabla_oszlop_nevek["$i"]["Type"];
if (strlen($tabla_oszlop_nevek["$i"]['Default']) > 0){
$oszlopok.= ' default \'' . $tabla_oszlop_nevek["$i"]['Default'] . '\'';
}
if($tabla_oszlop_nevek["$i"]['Null'] != "YES"){
$oszlopok.=" not null";
}
$oszlopok.=" ". $tabla_oszlop_nevek["$i"]["Extra"].",\n";
} -
Peter Kiss
őstag
A Kohana hasonló az előző kettőhöz. Valószínűleg mindegyiknél abból indultak ki, hogy kellene valami keret az apróságainknak, de akkor használjunk osztályokat, de még tegyünk hozzá valami feature-t, és még egyet, még egyet...
A Symfony2 ezek mellett egy ASP.NET MVC szintű cucc, bár több ponton szerintem túllőttek a célon, illetve az annotációkkal történő játék nekem nagyon nem jön be (majd esetleg akkor, ha a PHP-nak sajátja lesz), de Potencier bácsi és csapata azért érti a dolgát. Valószínűleg én is előbb a Symfony2-t nézegetném, mint a Zend Framework-öt. (Akár máshogyan is lehetne érzékeltetni az előbbi 3 és a Symfony2 viszonyát: PHPMailer vs. Swiftmailer)
---
@Sk8erPeter
Hiába raknak a Drupal alá Symfony2-t, amíg "bizonyos kódrészletek kompatibilitási okokból megmaradnak", magyarul a szarkupacból egy egész halom lesz. Nice move. (Igazából akármit csinálhatnak, annyi minden van Drupal alá, hogy azok miatt nem lesz soha semmilyen nagy megtisztulás.) -
Tele von Zsinór
őstag
Ha van időd és türelmed egy elég meredek tanulási görbére, akkor én nagyon ajánlom a Symfony2-t. PHP 5.3 alapú, a következő 1-2 hétben várható a 2.3-as változata, ami az első LTS lesz, három év supporttal. Elég jó közössége van, levlistán, stack overflowon és IRC-en is lehet hatékonyan segítséget kérni. Itt is van rajtam kívül néhány ember, aki foglalkozott már vele.
Ha egy kisebb keretrendszerrel kezdenél, akkor ott a Silex, ami egy microframework Symfony2 komponensekre épülve. Az elmúlt másfél évben két Sf2-es projektet kivéve kizárólag ebben dolgoztam, nagyon megszerettem.
-
Peter Kiss
őstag
Lehet, hogy nem a jobbik.
A másik kettővel az a baj, hogy nem objektum orientáltak, hanem class orientáltak, vagy még azok sem, mert helyenként durván összekeverednek a felelősségek, emellett hirdetik, hogy új PHP verzióra van, meg minden, de olyan elemek vannak mindegyikben (Codeigniter-ben), amelyeket a PHP 5 óta nem szabadna használni (&$, illetve metódusoknál/függvényeknél function &akarmi referenciázás még objektumok esetén is, pedig ott már egy internal handler mindent intéz, de így csúnya dolgok alakulhatnak ki amellett, hogy lassú, mint a sz.r).
-
-
futár
senior tag
Így értem, de hogyan. A form az alapértelmezett, ezt az inludoltam be. Amikor rányomok a küldés gombra, és a script lefut, akkor tölti be a thank-you.php tartalmát, eredetileg redirecttoURL-lel, de az nem akart működni. Echo, vagy include, a formot otthagyja és fölé kiírja a thank-you.php értékét. Hogyan tünteted el a formot, amit korábban includoltam a contact.php-be?
-
Speeedfire
félisten
Igazából csak annyi, hogy ne adjanak meg fals adatokat a már regisztrált felhasználók. Aki már regelt, akkor a kapcsolat résznél ne azt adja már meg, hogy en.vagyok.az.apad@gmail.com.
Ha nagyon azt akarja, akkor küldjön üzit pornó módban.
Tudom, ez ilyen apró dolog...de. Lényeg, hogy most már jó minden. -
-
Sk8erPeter
nagyúr
És ennek mi lenne a lényege?
itt van egy példa, itt tesztelheted:
http://preg_replace.onlinephpfunctions.com/minta:
/data:image\/(jpeg|jpg|png|gif|bmp);base64,/kód:
$pattern = '/data:image\\/(jpeg|jpg|png|gif|bmp);base64,/';
$replacement = '';
$subject = 'data:image/png;base64,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';
echo preg_replace($pattern, $replacement, $subject, -1 ); -
Speeedfire
félisten
De ne virtualizálj, ha csak tesztelni akarsz.
Külön partíció->debian->nginx & apache + APC!
Aztán adj neki. Mondjuk APC-vel már elég gyors az apache is.
Lacces: Gondolom a statikus tartalomra gondolsz. Mert a legtöbben inkább erre használják az nginx-et vagy a lighttpd-t. Csinálnak egy aldomain-t és a statikus tartalmat ezek a könnyű webszerverek szolgálják ki. -
cucka
addikt
Nem kell hozzá curl. Lényegében a galéria letöltős linked egy php oldalra fog mutatni (mondjuk oldaladneve/download_gallery.php?gallery_id=5 ). A php szkript összeszedi a galéria file-jait, bezippeli és elküldi a kliensnek. A küldés lényegében annyit jelent, hogy beállítod a megfelelő header-eket (elsősorban content-type), majd egyszerűen kiírod a zip file tartalmát a standard kimenetre (vagy csinálhatod fpassthru-val is, gyorsabb).
A kényes kérdés itt a zip-elés. Több lehetőséged van:
- A php zip eszközeivel menet közben állítod elő a zip filet. Ezzel az a baj, hogy hamar ki fog futni a memóriából a php.
- A php meghív egy shell script-et, ami elvégzi a zip-elést (parancssoros zip-el), a zip filet lerakja a temp-be. Te onnan fpassthru-val kiköpöd a standard kimenetre, majd törlöd a filet.
- Minden galéria módosításnál elkészíted a zip filet, így bármelyik galériát is szeretné letölteni a júzer, csak átdobod neki a meglévő filet. Ez jó, ha ritkán változik a galéria, viszont gyakran töltik le egyben. A zip file elkészítésére a fenti 2 pont érvényes.(#11840) Speeedfire
Ez jó, csak az alap probléma, hogy nem 1 file-ról van szó, hanem többről (galéria). Ezért a zip-elés.mod: továbbá érdemes tudni, hogy a böngészők igyekeznek intelligensen kezelni az érkező file-okat. Ezért van az, hogy egy zip filet automatikusan felajánl letöltésre anélkül, hogy varázsolni kéne a http header-ekkel. Nyilván, egy jpeg file-nál rá kell erőltetni ugyanezt a viselkedést a megfelelő header-ek segítségével.
-
Speeedfire
félisten
Sima egyszerű header manipulálást.
<?php
$file = str_replace('../','',$_GET['file']);
header ("Content-type: octet/stream");
header ("Content-disposition: attachment; filename=".$file.";");
header("Content-Length: ".filesize($file));
readfile($file);
exit;
?>Még mielőtt Athlon beszóna' ez csak egy alap példa!
-
Sk8erPeter
nagyúr
Ennek örülök, bár ha egy modi mondja azt, hogy na kuss, akkor általában azzal agyon is van csapva a szakmai beszélgetés. Most már komoly felelősség terhel minden szavadért.
Bocs, de "force a download in php" kulcsszavakkal rákeresve, meg a PHP header() manualját megnézve is elég sok olvasmányt találni a témában...
Mintha épp az előbb lett volna szó a 2 perc Google-ről.
De a felvetést nem is értem, miért kell általad fejlesztett oldalhoz cURL?Vagy csak félreértettem a kérdésedet?
(#11837) j0k3r! :
jaja, pontosan. Elég régóta érdektelenek a topicbeli kérdések is, most legalább valami érdekesről van (volt) szó. -
Sk8erPeter
nagyúr
Nekem aztán nem tisztem megvédeni Athlont, mert az eddigi kommunikációnk egymással nem volt túl sikeres, meg sokszor küldte már rám a modikat, és azzal is egyetértek, hogy általában túlságosan köti az ebet a karóhoz, és a saját elveit tekinti mindenhatónak, de ettől függetlenül szakmai szempontból érdekes olvasni a fenti vitákat, az ő hozzászólásaival együtt is, amikhez cucka és fordfairlane meg Soak és még esetleg mások is hozzászólnak.
A PHP-fejlesztés rejtelmeiről és mikéntjéről esik szó, összehasonlítva egyéb nyelvekkel is a lehetőségeket, nem tudom, miért kell leállítani egy ilyen szakmai vitát...Úgy érzem, ebben az esetben a moderálás nem jogos (nem anyázás folyik!), mert így csak agyoncsaptok egy végre érdekes eszmecserét, amiben nem az a téma, hogy hogyan kell validálni egy nyomorék formot. Szerintem a negatív kritika is része egy szakmának.
Szerk.: OFF.
Szerk. 2.: mobal, most látom, hogy ez te vagy, moderátor lettél, mik nem történnek (meg az avatarod is lecserélődött, ezért nem ismertelek fel)... -
Sk8erPeter
nagyúr
Azért nem világos a dolog, mert nem értem, miért okoz neked problémát egy "árva" tag.
Vegyük a legegyszerűbb példát: van mondjuk egy tags, egy tags_contents és egy contents táblád (most az elnevezés és struktúra csak hevenyészett, lényeg szempontjából tök mindegy, csak szemléltetés úgyis).
A tags táblába gyűjtöd az összes taget, van neki id-ja, elnevezése, leírása (most csak egy nyelven, mondom, legegyszerűbb példa). A contents táblában meg mondjuk cikkeid vannak, amikhez kapcsolhatsz tageket, van nekik id-juk, title mezőjük, meg body-juk, amiben a tartalom van. Aztán a tags_contents táblában pedig összekapcsolod a contentekkel a tageket; tag_id és content_id mezők vannak itt. Pl. ha a 123-as id-jú tag a "teszt" (a tags táblában), a 499-es id-jú content (a contents táblában) pedig az "Akármi" című, és a "teszt" taget az "Akármi" tartalomhoz akarod kapcsolni, akkor a tags_contents táblában lesz egy ilyened:
123 | 499
össze van kapcsolva a két id.
Ha a "teszt" taget leszeded az "Akármi" tartalomról, akkor kitörlöd a tags_contents táblából a 123-as id-jú taget, amihez a 499-es id van kapcsolva (mittomén, DELETE FROM tags_contents WHERE tags_id = 123 AND content_id = 499; vagy ilyesmi, de ez most túlzottan leegyszerűsített példa; de egyébként lehet, hogy értelmesebb egyszerűen az ehhez a 499-es id-jú tartalomhoz tartozó tageket egyszerűen leszedni, majd újból feltölteni az egészet, a módosításoknak megfelelően).Tehát az "árva", "teszt" nevű tag ottmarad a tags táblában, aztán bármikor hozzákapcsolható megint az "Akármi" tartalomhoz. Senkit nem zavar, hogy ott van egyedül egy másik táblában.
Most így már tisztább?
========
(#11736) bobace :
melyik CMS-ről van szó?
Egyébként pont a support hiánya vagy kisebb aktivitása miatt nem érdemes kevésbé ismert CMS-eket, frameworköket választani, mert ha kell valami új dolog, akkor egyszerűen meg vagy rekedve, ha nem tudod, hogyan fejleszd tovább. -
Sk8erPeter
nagyúr
De miért ne maradhatna egy cikk tag nélkül? A tag csak kiegészítő elem, plusz infókkal ruházza fel a tartalmat, meg segít a kategorizálásban és a tartalom adott szempontok szerinti szűrésében.
Ha nem adsz hozzá taget, akkor nem kell semmit pakolni az adott tartalom és tag összekapcsoló táblájába; ha meg a tartalom módosításakor minden korábbi taget leszedsz róla, akkor egyszerűen az összekapcsoló táblából az összes, az adott tartalom id-jához tartozó tag id-t kitörölsz, és kész. -
Sk8erPeter
nagyúr
Ha módosítasz egy bejegyzést (blogbejegyzés, cikk, akármi, amihez a tag rendelve van), akkor meg kell nézni, most milyen tagek vannak hozzácsapva, és annak megfelelően módosítani az adatbázis-bejegyzéseket (ha valamilyen tag előtte rajta volt, de az elmentéskor nincs, akkor persze azt kiszedni a megfelelő táblából).
Nincs jobb megoldás, mint hogy végigmenni a tageken mentéskor, és összehasonlítani a korábbi állapottal, és csak azokat megtartani az összekapcsoló táblában, amik a mentéskor is érvényesek.
A tag teljes törlésekor (tehát nem a bejegyzés módosításakor) pedig egyszerűen kitörölni a tag sorához tartozó sort a tags táblából, plusz törölni az ennek az id-nek megfelelő bejegyzéseket az összekapcsoló táblákból is (ez elég egyszerű jól kialakított rendszernél).(#11730) bobace :
uhh, hát ez elég összetett téma, nem tudom, tud-e valaki így hirtelen mutatni erre valami jól összeszedett linket. Érdemes megnézni, hogyan csinálják a frameworkök és CMS-ek, de akkor már valószínű, hogy inkább az a megoldás, hogy átállsz ezek használatára. Az sem két perc, hogy lemásold a routing működését, meg az sem, hogy átköltöztesd a mostani oldalad mondjuk egy frameworkre vagy CMS-re (bár érdemes). -
Sk8erPeter
nagyúr
Google >> 2. találat.
"Export (dump) the database, and reimport it with the new encoding.
http://alexking.org/blog/2008/03/06/mysql-latin1-utf8-conversion" -
Lacces
őstag
Nem értek a kohanna keretrendszerhez, de az url irányítással van a baj.
http://mobal.atw.hu/index.php/settings.php - erre nem dob sima atw-s 404-es hibát, hanem 'HTTP_Exception_404 [ 404 ]: Unable to find a route to match the URI: settings.php'
Ugyanez van az /index.php esetében is... szal valahol lehet el van állítva az url routing. De amúgy /index esetén és atw-s 404-es hibát kapsz. Nem tudom minek hívják ez, amikor a .php-t lehagyod az url routing során, szkript fájlnév, vagy valami ilyesmi, na az ilyen linkek nem működnek.
Új hozzászólás Aktív témák
Hirdetés
- Vidd haza a jövő RAM-ját már ma!
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
- AKCIÓ! Intel Core i9 13900K 24 mag 32 szál processzor garanciával hibátlan működéssel
- PlayStation Plus Premium előfizetések
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged