Hirdetés

2024. május 1., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#21001) nevemfel válasza Mr. Y (#21000) üzenetére


nevemfel
senior tag

Jelen példádban a $likes egy string, nem tömb. Ha ezt szeretnéd látni JSON-ban:

"likes": ["sport cars", "football", "tennis", "women"]

akkor tömbként kell kell deklarálni.

$likes = ["sport cars", "football", "tennis", "women"];

[ Szerkesztve ]

Forget your troubles, c'mon get happy

(#21002) Mr. Y válasza nevemfel (#21001) üzenetére


Mr. Y
senior tag
LOGOUT blog

Értem, köszönöm

But who is watching the guardians?

(#21003) nevemfel válasza Mr. Y (#21002) üzenetére


nevemfel
senior tag

Illetve a konkrét példában a negyedik sort is át kell írni, mert az eredeti kódban, a negyedik sorban a 'likes'=>[$likes] egy tömböt kreál a $likes stringből, és így végülis tömb lesz belőle, de csak egyetlen elemű. PHP 5.4-től az array() helyett használhatsz []-t, mindkettő tömb létrehozására való.

$name = 'Philip';
$age = 18;
$likes = ["Sport cars", "Football", "Tennis", "Women"];
$jsonfile[] = [
    'name'=>$name,
    'age'=>$age,
    'likes'=>$likes
];

[ Szerkesztve ]

Forget your troubles, c'mon get happy

(#21004) Mr. Y válasza nevemfel (#21003) üzenetére


Mr. Y
senior tag
LOGOUT blog

Köszönöm, este megpróbálom

But who is watching the guardians?

(#21005) Mr. Y válasza nevemfel (#21003) üzenetére


Mr. Y
senior tag
LOGOUT blog

Oké, így már működik, de mégsem.
Az adott szavakat egy input mezőben adom meg. Így a teljes kód:
$likes = $_POST['likesinput'];

Namost, ezt hiába teszem be így: $likes = [$_POST['likesinput']]; vagy így:
$transformer = $_POST['likesinput'];
$likes = [$transformer];

nem működik.

Értem a problémát, hogy tömbként kéne megadni string helyett, de erre nem találok opciót így, ebben a formában. Alapvetően így adom meg: sport cars, football, tennis, women
és ebből egy JS csinál ilyet: "sport cars", "football", "tennis", "women"
Így lesz ez likesinput értéke. Ezt kellene valahogy betenni úgy, hogy tömb legyen belőle.

Vagy egyáltalán... lehetséges az, amit szeretnék?

But who is watching the guardians?

(#21006) nevemfel válasza Mr. Y (#21005) üzenetére


nevemfel
senior tag

Ha egy változót simán csak szögletes zárójelbe teszel $likes = [$_POST['likesinput']], akkor a PHP egy egyelemű tömböt csinál a stringből.
Ha a string tartalmát fel akarod dolgozni, pl. hogy a megadott stringet bontsa szét tömbelemekre a vesszők mentén, akkor az explode-ot kell használni.

$likesArray = explode(",", $_POST['likesinput']);

Forget your troubles, c'mon get happy

(#21007) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Köszönöm szépen, így már működik :R :R :R

But who is watching the guardians?

(#21008) Mike


Mike
veterán

totál off lesz, elnézést, de nem találtam megfelelő topikot erre

a következő a problémám: a vps-ünkön mongodb-t használunk, napi mentés mongodumppal történik, az a jelenség, hogy mongodump idő múlva beszorul (jam), egyre kevesebb adatot ment és a végén áll az egész szerver (nem fagy le, az admin felület szerint online) de konkrétan SSH-n keresztül sem tudok fellépni rá). azt olvastam, hogy a mongodump kicsi adatbázisokra alakalmas, de nagyobbakra, amikor több gigás bson fileokat generál, hajlamos erre ha megtellik a memória (bár 16 giga memória van és a legnagyobb kollekció mérete sem több 3,5 gigánál). mi lehet a megoldás? a --quiet pl? vagy milyen alternetív megoldás létezik a mongodump helyett, de olyan amivel nem kell leállítanom a mongodb futását.
(mongoban annyira nem vagyok otthon sem szerver üzemeltetésben, szóval bocs ha idióta volt a kérdés)

(#21009) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Sziasztok!

Nem tudom biztosan, hogy ide kéne ezt írjam, vagy a JS csoportba esetleg, mert mindkettőt érinti, de nem tudom, mi okozza a problémámat.

Adott egy lefutó, de félbeszakított PHP kódsor. Ez a kód, amennyiben megfelelőek a feltételek, a szerverről lekérdez adatokat, létrehozva belőlük egy form-on belüli további feltételrendszert. Ezen feltételrendszerben van egy gomb, mely szintén egy PHP kódot indít el. Az a kód a szerveren végez módosítást, majd pedig egyéb utasítás hiányában újratölti az oldalt. Mindezt azért írom le, hogy érthető legyen: Az első PHP megindítása szükséges a második futtathatóságához. És ez remekül működik.

Azonban. Van nekem ebben a létrehozott form-ban egy select menü, mely JS háttérrel rendelkezik, vagyis minden option kiválasztáskor lefut egy hozzá kötött function, ami szintén remekül működik, semmi baj vele.
És ezért nem értem azt, hogy miért csinálja a következőt:

Van a form-on belül egy olyan button, mely JS háttérrel rendelkezik. Futtatásakor azonban azt vettem észre, hogy bezárja a futó PHP kódot, vagyis esetemben lefrissíti az oldalt. Ekkor rámentem manuális kijelölésre és soronkénti futtatásra, hogy láttam, mi lehet a gond.
Na így szembesültem a következővel:

A háttér JS kód lefut hibátlanul. Ezt követően megnyit egy logic.js nevű fájlt, melyet az én kódom nem tartalmaz, majd azon belül lefuttat egy parancssorozatot. Annak végeztével megtörténik a PHP kód bezárása, ezzel együtt az oldal lefrissítése.
Ezt követően pedig behív egy content.js nevű fájlt, melyet a kódom szintén nem tartalmaz. Ebben is lefuttat egy kódsorozatot, majd ismételten meghívja logic.js-t, ahol ismét lefut egy kód, majd kilép.

Itt hozzátenném, hogy az általam futtatni kívánt JS kód egy mezei matematika, de rakhatok be csak egy alert();-et is, ugyan ez a végeredmény.

Mik ezek a behívott JS fájlok és miért cseszik szét a kódomat? Illetve miért csak az egyik futtatandó JS-em után jön, a másik után miért nem?

Előre is köszönöm a megfejtést!

But who is watching the guardians?

(#21010) Taci válasza Mr. Y (#21009) üzenetére


Taci
addikt

Használsz valamilyen keretrendszert? Valamilyen template-et? WordPress-t?
Ha saját kódjaid vannak csak, akkor nem lehet benne olyan fájl, ami nem a tiéd.

(#21011) Mr. Y válasza Taci (#21010) üzenetére


Mr. Y
senior tag
LOGOUT blog

Csak saját, semmi keretrendszer. És számomra is ismeretlen kódokat hív be

But who is watching the guardians?

(#21012) Taci válasza Mr. Y (#21011) üzenetére


Taci
addikt

Ha belenézel ebbe a 2 JS fájlba, nincs valami header, ami a készítőre vagy a forrásra utalna?

(#21013) Mr. Y válasza Taci (#21012) üzenetére


Mr. Y
senior tag
LOGOUT blog

Az egyik erre a linkre mutat, a másik pedig erre. Ezek szerint mindkettő a Chrome beépített szarsága, ami nekem most bekavar. Ez kikapcsolható?

Szerk: Most nézem, ez így nektek nem elérhető. Akkor tömören: chrome-extension.
Mindkettőhöz azt írja, hogy a pinterest-é. De annak mi köze hozzá?

Lementettem őket. Egyik, másik

[ Szerkesztve ]

But who is watching the guardians?

(#21014) Taci válasza Mr. Y (#21013) üzenetére


Taci
addikt

Ha inkognitó módban (vagy Edge-ben) próbálod, akkor is előjön ez a hiba (és a 2 fájl)?
Mert fura ez az extension-ös rész, ha feltelepíted, ugye engedélyt is adsz neki (arra amire kér). Szóval nézd meg egy másik böngészőben (vagy tiltsd le a Chrome-beépülőt), hátha úgy már rendben lesz.

(#21015) Mr. Y válasza Taci (#21014) üzenetére


Mr. Y
senior tag
LOGOUT blog

Megnéztem. Inkognító módban nem csinálja, de ettől függetlenül ugyanúgy bezárja a futó PHP-t (frissíti az oldalt)

But who is watching the guardians?

(#21016) disy68 válasza Mr. Y (#21015) üzenetére


disy68
aktív tag

Nyilván, mert nincs közük hozzá.Szinte biztos vagyok benne, hogy a form submitnél a js nem akadályozza meg a default működést, ami az, hogy küld a böngésző egy post/get/akármi requestet a form alapján.

event.preventDefault()

Azt meg felejtsd el, hogy "bezárja a futó php-t". Amikor a böngészőben javascript garázdálkodik, akkor nem fut semmilyen php. A php szerver oldal, a javscript meg kliens oldal.

“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude

(#21017) sztanozs válasza Mr. Y (#21015) üzenetére


sztanozs
veterán

Kicsit ismerkedned kellene még a kliens-szerver architektúrával...

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21018) Mr. Y válasza disy68 (#21016) üzenetére


Mr. Y
senior tag
LOGOUT blog

Oké, akkor érthetőbben:

Mikor elindul az első PHP kód, akkor a szerverről lekérdez, pontosabban include-al behív egy külső HTML fájlt, ami tartalmazza a form-ot a továbbiakhoz. Ha ebben az állapotban megpróbálom lefrissíteni az oldalt, azonnal tájékoztat, hogy elveszhetnek az eddigi adatok. Ez eddig tiszta sor. Nálam a böngésző úgy van beállítva, hogy bezárás utáni nyitáskor minden visszajöjjjön. Amennyiben viszont el volt indítva ez a PHP, akkor nem tölt be, csak manuális újratöltésre, de ekkor a már meghívott információkkal együtt.

Namost, a behívott form tartalmaz egy submit-et, ami egy fájlt módosít a szerveren. Mivel ebben a kódban nincsen benne ismételten a külső HTML meghívása, így a kód lefutása után, mikor frissül az oldal, az eredeti állapot jelenik meg. Ez történik most, a JS lefutását követően is, holott a másik JS kód után nem csinál ilyet.

Tehát de, van egy elindított folyamat (egy adott betöltött oldal, ami nem egyezik az URL-en találhatóval). És azt nem értem, hogy ha a JS csak annyit is tartalmaz, hogy alert("kód");, miért frissül le lefutást követően az oldal, amikor ezt csak a különálló submit gomb tehetné meg?!

But who is watching the guardians?

(#21019) sztanozs válasza Mr. Y (#21018) üzenetére


sztanozs
veterán

Kicsit zavaros nekem hogy miért akarsz kliens oldalon php-t használni…
vagy egyáltalán nem értem mit csinálsz.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21020) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Nem kliens oldalon használom. Van először is egy admin felület, ahová be kell jelentkezni. Ez az első PHP. Ha a bejelentkezési adatok megfelelőek, akkor tölti be PHP az oldal többi részét. Ezt részben azért csináltam így, hogy belépés nélkül ne tudja senki megnézni a forráskódot, hiszen abból nekem károm is származhat.
Ezt követné pár JS művelet, melyek közül az egyikkel gond van.
Megnéztem egyébként egy friss rendszerre telepített Chrome-on (MacOS), hogy mit csinál. Ott szintén ugyan ez volt a jelenség, de valamivel lassabban futott, így telibe láttam, hogy amint lefutott a JS és visszatért az őt meghívő PHP fájlban lévő button-hoz, akkor frissíti le az oldalt az alap, bejelentkezés előtti állapotra.

But who is watching the guardians?

(#21021) sztanozs válasza Mr. Y (#21020) üzenetére


sztanozs
veterán

ÁÁÁ, a forráskódot senki nem fogja látni, az a szerver oldalon "átalakul" HTML-lé és a kliens csak azt látja, amit a PHP létrehoz. Szerintem tényleg olvass utána a kliens-szerver architektúrának és session kezelésnek.
Ezek a dologok egyáltalán nem úgy történnek, ahogy te azt elképzeled (a válaszod alapján).

Egyszerűen a folyamat:
1) Kliens lekéri az oldalt (URL, COOKIE-k, GET paraméterek, POST tartalom)
2) szerverhez megérkezik a kérés, az URL alapján meghívja a megfelelő oldalt (PHP kód a te esetedben)
3) a COOKIE, GET és POST tartalom vezérli a PHP kódot a teljes lefutásig, miközben legyártja a kliensnek visszaadandó tartalmat (HTTP HEADER + HTML + beágyazott JS + beágyazott CSS - vagy egyéb tartalom, pl bináris fájl)
4) kliens feldolgozza a választ, megjeleníti a tartalmat és futtatja a JS kódokat
5) felhasználói tevékenységre vagy JS akciókra újabb oldallekérések -> 1) pont

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21022) sztanozs válasza sztanozs (#21021) üzenetére


sztanozs
veterán

És ami itt nem egyértelmúen lászik: a hármas pontban a PHP kód futása minden lekérésben külön esemény, a szerver minden lekérésre újra, előről futtatja a kódot, ezért van szükség session kezelére, hogy tudjad, hogy ki és miért hívta meg újra ugyanazt a kódot.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21023) Mr. Y válasza sztanozs (#21021) üzenetére


Mr. Y
senior tag
LOGOUT blog

Értem, ez így tiszta. A forráskódban a PHP kódot valóban nem lehet elérni kliens számára láthatóan, de a JS-t igen. Namost, az első PHP kódom mikor lefuttatja a lekérdezést, az hívja be a JS-t is. Tehát: Ameddig nincs bejelentkezés a megfelelő adatokkal, addig nem látszanak a JS kódok sem. Számomra ez volt a fő lényeg.

De mindattól függetlenül amit írtál, az alap probléma fent áll és magyarázat nem született rá: Miért frissíti le magát az oldal, miután lefut a JS kód? Hiszen, mint magad is írtad, a JS kliens oldalon fut, szerver felé lekérdezés nem történik.

But who is watching the guardians?

(#21024) sztanozs válasza Mr. Y (#21023) üzenetére


sztanozs
veterán

Pl ha a JS nem egy XHR-t indít, hanem egy form submit-ot, az olyan mintha a felhasználó megnyomta volna a submit gombot, ami a formhoz van kötve.
Ha a form action attribútuma egy URL, akkor ez oldalbetöltést jelent - ami így újratölti az oldalt.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21025) Mr. Y válasza sztanozs (#21024) üzenetére


Mr. Y
senior tag
LOGOUT blog

Értelek, tehát vegyem ki a button-t a form mezőből és jó lesz. Mondjuk erre gondolhattam volna én is XD Köszönöm

But who is watching the guardians?

(#21026) Voy15 válasza Mr. Y (#21025) üzenetére


Voy15
tag

Vagy átírod a button type-ot button-ra a submitról, akkor sem fogja elküldeni a formot.

Vagy ugye amit javasoltak az a preventDefault(), amit vagy onsubmit-ra, vagy click eventre raknak általában.

(#21027) Mr. Y válasza Voy15 (#21026) üzenetére


Mr. Y
senior tag
LOGOUT blog

Köszönöm a megoldásokat. Végül kivettem a form-ból és egyből működött. Egyébként nem volt meghatározva a type, csak mezei <button></button> volt.

But who is watching the guardians?

(#21028) Voy15 válasza Mr. Y (#21027) üzenetére


Voy15
tag

Valószínűleg akkor a button elem default type-ja a submit, és azért submitolt.

(#21029) Mr. Y válasza Voy15 (#21028) üzenetére


Mr. Y
senior tag
LOGOUT blog

Ez lehetséges. Legközelebb jobban figyelek :R

But who is watching the guardians?

(#21030) nevemfel válasza Voy15 (#21028) üzenetére


nevemfel
senior tag

Igen:

[link]

[ Szerkesztve ]

Forget your troubles, c'mon get happy

(#21031) liksoft


liksoft
nagyúr

Szép Estét!

Keresnék egy mini filemanagert. Amiket találtam, azok fullosak, vagy nem mennek.
Igény:
1. Ahonnan indul, az a root számára, vagy megadható mi legyen (jobb lenne).
2. Login+password. (Azonosítás nélkül ne indulhasson.)
3. File feltőlt, letölt, fent töröl, átnevez.
4. Könyvtárba belép vagy visszalép, létrehoz, töröl.
5. Persze egymás alatti sorokban láthatóak az elemek. (mint itt ezek a pontok)
Az nem érdekel, hogy van-e baloldalt tree vagy nincs. Ha egy txt file-ban kell megadni a név+password+root adatokat, az sem gond. Nem kell grafika, ikonok, csicsa (kiráz a hideg tőlük mint a hiénát az oroszlánkirályban.... :) ).
Vagyis FAPADOST keresek. Egy kritérium fontos, php 5.2 vagy előtte verzión menjen. Olyan érzés, mint régen DOS 3.0 alatt. :DDD Ha nem sort-olt a kiírás, még az sem érdekes!
Ilyen tökéletes lenne. Tud valaki ilyent?

[ Szerkesztve ]

Murphy él és dolgozik (Ami el tud romlani, az el is romlik). hdd-mentes.hu

(#21032) biker válasza liksoft (#21031) üzenetére


biker
nagyúr

hát ha ennyire fapados kell, php-ben összedobható egy nap alatt, van minden utasítás, nulla css, mint az apache file list view :)
Amit már felraknak megosztóra, azok mind többet tudnak

Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |

(#21033) liksoft válasza biker (#21032) üzenetére


liksoft
nagyúr

Most kerestem rá, és igen! Egy ilyen kinézet tökéletes, ha van feltölt, átnevez/töröl, könyvtár létrehoz/töröl/átnevez. A .. és könyvtárnév a navigációhoz már tökéletes.

Ahhoz, hogy szervizesként el lehessen távolról is érni szükség esetén a "szerszámos ládát", untig elég.

Igen, igazad van, egy nap elég. Pascalban nekem is az lenne, de a C-t pont azért nem szeretem mint a php-t. Tömör, időnként olvashatatlan. Valamint annyi utasítás van benne, hogy ha nem naponta használom, kimegy a fejemből. (Nem véletlen, hogy sok helyen a RISC procik magasan verik az "intelligenseket" :) )

Murphy él és dolgozik (Ami el tud romlani, az el is romlik). hdd-mentes.hu

(#21034) liksoft válasza liksoft (#21033) üzenetére


liksoft
nagyúr

Kaptam ötletet (simple-file-manager), először megnézem. Köszönöm!

Murphy él és dolgozik (Ami el tud romlani, az el is romlik). hdd-mentes.hu

(#21035) bookfan


bookfan
újonc

Sziasztok!

Van egy ilyen kódom:

<?php
function pushfile(&$file) {
header_remove();
if (isset($file["type"])) header('Content-Type: '.$file["type"]);
if (isset($file["name"])) header('Content-Disposition: attachment; filename="'.$file["name"].'"');
print $file["name"];
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: ");
echo $file["content"];
exit;
}

$h=fopen($filename,"r");
$tartalom = fread($h, filesize($filename));
fclose($h)

$file["name"] = $real_filename;
$file["content"] = $tartalom."*".$context['user'][id'];
pushfile($file);

Nagyon jól belerakja az adott fájlba az userid-t (pdf,epub), de ha átkonvertálják eltűnik belőle. Hogy lehetne megoldani,hogy benne maradjon az id konvertálás után is?

Köszönöm előre is a segítséget :)

(#21036) supercow válasza bookfan (#21035) üzenetére


supercow
őstag

Nem tudom mivel konvertálod, de mivel nem formátum-specifikus meta adatot tárolsz (kvázi hibás fájlokat írsz?) kétlem hogy megtartaná bármelyik olvasó vagy konverter. Ha valamiféle kezdetleges másolásvédelmet próbálsz építeni akkor azt sürgősen felejtsd el. Egyébként ha nagyon kell akkor nézz utána, hogy az adott fájlformátumban hogyan kell/lehet "rendesen" betenni extra adatot.
UI: ez a fread($h, filesize($filename)) memóriába olvassa a teljes fájlt, egy nagyobb állományt feltöltve simán eléred a php memória limitet és összef*ssa magát a PHP. Inkább valami más, biztonságosabb módszert keress.

In nomine Pasta, et Fusilli, et Spaghetti Sancti. Ramen.

(#21037) Taci


Taci
addikt

Sziasztok!

Tanácsot szeretnék kérni adatbázis backupolással kapcsolatban.

Amíg az itthoni tesztkörnyezetben dolgoztam (fejlesztettem), mysqldump-pal és mysqladmin-nal (flush-logs) csináltam egy nagyon jól működő inkrementálisan backupoló rendszert.
Aztán átköltöztem a szolgáltatóhoz, ahol kiderült, hogy sajnos se a binary log nincs engedélyezve, se reload jog nem elérhető, így ez a módszerem ott nem működőképes.
Azóta csak kézzel tudok (cPanelen keresztül) backupolni, nyilván azt is csak akkor, amikor épp odaérek. Ez pedig így nem jó.

Tudnátok tanácsot adni, hogy az elérhető tool-okkal milyen automatizált backupoló megoldást tudnék létrehozni?
Ezeket tudom használni:

Köszönöm.

(#21038) Taci


Taci
addikt

Sziasztok!

A php error logban sok ilyen bejegyzést találok:
PHP Warning: Error while sending STMT_PREPARE packet. PID=123456

Van, amikor a szkript teljesen elején lévő legelső lekérdezésre mutat, van, amikor a közepére, változó.

Kerestem, mi lehet, de egyértelmű választ nem találtam. A megoldási javaslatokból viszont úgy tűnik (és ebben erősítsetek vagy cáfoljatok meg, kérlek), hogy nálam esetleg az a baj, hogy minden cron job-ot (kb. 20 db) egyszerre hívok meg, így kvázi egyszerre terhelik le a szervert, és néha egyszerűen ez talán túl sok neki.

Jó a sejtésem, vagy tévúton járok?
Ha jó, megoldás lehet erre, hogy a cron jobokat (amik amúgy most 5 percenként futnak) eltolom valahogy? Tehát most mindegyik lefut egyszerre minden 5 percben. De mondjuk minden másodikat eltolnék, hogy ugyanúgy 5 percenként fusson, de ne 00-kor kezdje, hanem 01-kor, és akkor a következő 06-kor stb. Aztán minden harmadikat 02-es kezdettel stb.
Így valamelyest tehermentesebb lenne a szerver, még ha csak 1-1 perccel is eltolva a szkriptek indulását. (Vagy akár inkább másfél perccel, mert úgyis 90mp a futási limit.)

Vagy más lehet az oka ennek?
Kódot azért sem írtam, mert változó, hogy melyikkel van épp "baja", de már a legegyszerűbb 2 paraméteresre is írja ki néha, szóval nem a "bonyolultságán" múlik szerintem.

Köszi!

(#21039) Winner_hun


Winner_hun
félisten

Nem értek hozzá. Ami szeretnék:

Weboldalra képeket kitenni, akár úgy is, hogy egy mappába csak beteszem a képeket, azok meg egymás után megjelennek, ömlesztve az oldalon. A képekre való kattintáskor a kép URL címe kerüljön vágólapra.

► "Kicsit olyan webcaritas" ◄ ヅ

(#21040) pelyib válasza Winner_hun (#21039) üzenetére


pelyib
tag

Jó ötlet, sok sikert.
Kérdés is van vagy csak megosztottad az ötletet?

(#21041) liksoft válasza pelyib (#21040) üzenetére


liksoft
nagyúr

:B :B :B Odaírta: "Amit szeretnék:" :B :B :B

Murphy él és dolgozik (Ami el tud romlani, az el is romlik). hdd-mentes.hu

(#21042) pelyib válasza liksoft (#21041) üzenetére


pelyib
tag

Majd tett egy kijelentést.
Ha valamit nem tudunk és kérdésünk(!) van akkor erőltessük már meg magunk és tegyük fel.

(#21043) Winner_hun válasza pelyib (#21040) üzenetére


Winner_hun
félisten

Megoldható hogy a képre kattintva annak URL címe a vágólapra kerüljön?

► "Kicsit olyan webcaritas" ◄ ヅ

(#21044) sztanozs válasza Winner_hun (#21043) üzenetére


sztanozs
veterán

Igen, kliens oldali javascripttel:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard

Konkrét megvalósítások:
https://stackoverflow.com/a/30810322/8154543

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21045) don_peter


don_peter
senior tag

Kedves fórumozó kollégák!
Olyan kérdésem lenne, amely a speciális (ékezetes) karaktereket érinti.
Van egy API, amellyel tanulásként vacakolok, egy adatbázis lekérdezés van benne, amelyet szeretnék json struktúraként átadni egy alkalmazásnak.
A gond az, hogy ha valamilyen speciális karaktert tartalmaz (pl. ékezetes betűk) egy-egy mező, akkor annak a mezőnek a struktúrában NULL lesz az értéke és az alkalmazás, amellyel fel akarom dolgozni az adatokat keresztbe áll.
Adatbázis lekérdezés elégé egyszerű:
SELECT nev, leiras FROM emberek LIMIT 10
Aztán jöhet a json struktúra:
json_encode($records);

Arra rájöttem, hogy még mielőtt json-ak átadom a $records tömböt, kellene bejárni és minden hol, ahol van speciális karakter (ékezetes karakter) azt kicserélni a megfelelő utf kódra, de akár hogy próbáltam eddig, valamiért nem változott meg, nem írta felül az értéket. Nem szedtem külön a recordot, magában akartam megoldani.

Aztán eszembe jutott, hogy ezt esetleg lekérdezésnél is meg lehet oldani, de az meg nem volt szép és valamiért SQL felületen működött, de szerveren futtatva már nem.
SQL REPLACE(mezo, mit, mire)
Aztán ha több karaktert kell cserélni, akkor ennek ismétlése annyiszor, ahány karakter érintett SQL REPLACE(REPLACE(REPLACE(mezo, mit, mire), mit2, mire2), mit3, mire3)
Kérném a segítségeteket, hátha van valakinek egy kitapasztalt és jól működő megoldása erre a problémára.
Köszi előre is.

----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----

(#21046) Taci válasza don_peter (#21045) üzenetére


Taci
addikt

UTF8-ra (utf8mb4) van állítva a karakterkódolás a mezőkön?

(#21047) don_peter válasza Taci (#21046) üzenetére


don_peter
senior tag

Alapértelmezett: latin1_swedish_ci

----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----

(#21048) don_peter válasza Taci (#21046) üzenetére


don_peter
senior tag

Bocsánat, pontosítanék...a mezők típusa utf8_general_ci

----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----

(#21049) pelyib válasza don_peter (#21045) üzenetére


pelyib
tag

json_encode function: special characters

Szerintem nalad is az lesz a problema, h nincs beallitva rendesen a connection: MySQL doc

(#21050) don_peter válasza pelyib (#21049) üzenetére


don_peter
senior tag

Köszi, ez megoldotta a gondomat:
function utf8_converter($array)
{
    array_walk_recursive($array, function (&$item, $key) {
        if (!mb_detect_encoding($item, 'utf-8', true)) {
                $item = utf8_encode($item);
        }
    });
    
    return $array;
}

----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.