- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Gurulunk, WAZE?!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- vrob: Az IBM PC és a játékok a 80-as években
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
PumpkinSeed #14599 üzenetére
Karaktert olvasos, és nem sort/karakterláncot. Karaktert nem lehet indexelni. Ha kell a fájl egész tartalma:
<?php
echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/../gem.txt');Ez string-ként beolvassa az egészet, azt pedig már lehet indexelni.
-
PumpkinSeed
addikt
válasz
Sk8erPeter #14598 üzenetére
<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen('$DOCUMENT_ROOT/../gem.txt','ab');
$i = 0;
while (!feof($fp)) {
$szoveg[$i] = fgetc($fp);
$i++;
echo $szoveg[$i];
}
fclose ($fp);
?>Eddig így nézz ki.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14595 üzenetére
Még jó, hogy ilyen sok részletet megosztottál a megoldásodról...
-
PumpkinSeed
addikt
válasz
Tele von Zsinór #14596 üzenetére
.txt
-
Tele von Zsinór
őstag
válasz
PumpkinSeed #14595 üzenetére
Mi az, hogy "jegyzettömb"?
-
PumpkinSeed
addikt
Van egy 100.000+ karakterrel rendelkező jegyzettömb. Beolvasnám kezelésre, de egy tömböt túlindexel, ezért abba nem megy. Mibe lehetne ezt beletenni?
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #14593 üzenetére
(#14588) Lacces
"De include-oltam nem egyszer
. Mert ez csak egy egyszerű kis magamnak csinált alkalmazás volt, nem fogok én itt hobbi webframework-öt csinálni
. Ott az xDebug, hibajelzésre... Patterneket nézegettem. Van más dolgom is
.
include('vars.php'); // működik.
include 'vars.php'; // nem működik, semmit sem jelzett."Valamit rettentően elkúrsz, ha ez nem működik, pedig de, működik...
Amúgy nem tudom, milyen hobbiwebframeworkről beszélsz, egy include-tól nem lesz semmi sem framework, főleg, hogy az általad mutatott példában tényleg csak a rövid tesztelés kedvéért tök felesleges különböző fájlokba pakolgatni a kódokat.
"Ott az xDebug, hibajelzésre... Patterneket nézegettem"
Hogy kapcsolódik össze egyáltalán a kettő?Meg hogy jön az Xdebug bármilyen hobbiwebframeworkhöz?
Na mindegy, betudom a dolgot az aktuális "vércukorszintednek". -
Kommy
veterán
Lehetséges futás közben változót létrehozni?
-
zone
őstag
Segítséget kérnék. Opencartot használok, most töltöttem fel szerverre, localhoston nem volt semmi gondom. Folyamatosan ez a két hiba jelenik meg a logban és az admin oldal tetején:
PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in /host/htdocs/system/library/cache.php on line 34
PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /host/htdocs/system/library/cache.php on line 36
A cache.php hivatkozott sorai:
34: fwrite($handle, serialize($value));
35:
36: fclose($handle);Plusz az oldal tetején még ez is, de ez nincs a logban:
Warning: fopen(/host/htdocs/cache/cache.store.1384025663) [function.fopen]: failed to open stream: No such file or directory in /host/htdocs/system/library/cache.php on line 3232: $handle = fopen($file, 'w');
Itt legalább látom, hogy az elérési út nem jó, mert system/cache/ helyett a gyökérben keresi a cache mappát valamiért.
-
Lacces
őstag
válasz
Lacces #14588 üzenetére
Alapból gyökérséget írtam... Látszik, hogy idehaza, már nem gondolkodom úgy ahogy kellene...
Biztos, hogy nem minden egyes oldal betöltésre kéne ezt csinálni, ha felhasználók 100-ai látógatnák az oldalt..
Bár ahogy most olvastam, a sima XMLparser függvény a leggyorsabb, mások ezt írták.
LOL, inkább alszom egyet. -
Lacces
őstag
Hali.
Ma csináltam RSS beolvasást, adatbázisba mentést, és oldalon megjeleníteni.
Aztán idehaza elgondolkoztam azon, hogy hogyan lehetne a leggyorsabban mondjuk 20rss xml-t beolvasni és azt menteni adatbázisba és megjeleníteni az oldalon?Erre mi lehet a legjobb koncepció?
Most csináltam, hogy kipróbáltam 10-el. Ilyen egyszerűt, lehet rajta csiszolni. SimpleXML-t használtam. De érezhető volt a lassú betöltés. (Persze ez, minden egyes oldal betöltéskor lefut, amin már most látszik, hogy vesztett ügy. Bár, mondjuk lehetne is rajta optimalizálni, de kételkedem.)
Megfogtam, minden RSS feed-et beleraktam egy nagy multi-tömbbe. És onnan kiolvasva töltöttem fel az adatbázist, vizsgálva, hogy az már fel volt-e töltve vagy sem.Azon gondolkoztam, hogy esetleg érdemes Cron folyamatot indítani a háttérben, és az frissítené folyton az adatbázist, mondjuk 15 percenként?
Vagy van más módszer is erre, szerintettek?Sk8erPeter
De include-oltam nem egyszer. Mert ez csak egy egyszerű kis magamnak csinált alkalmazás volt, nem fogok én itt hobbi webframework-öt csinálni
. Ott az xDebug, hibajelzésre... Patterneket nézegettem. Van más dolgom is
.
include('vars.php'); // működik.
include 'vars.php'; // nem működik, semmit sem jelzett. -
Sk8erPeter
nagyúr
válasz
Lacces #14586 üzenetére
"Egyszer csak azt vettem észre, hogy én sosem használtam így az include '/path/to/file' a behúzást."
Hogy micsoda? Mármint úgy érted, még sosem include-oltál másik fájlt? Most szívatsz, ugye? Azt hogy csináltad eddig? Mit csináltál eddig?Most tényleg az volt a gondod, hogy másik fájlban voltak az osztályaid, és az a fájl nem volt behúzva vagy autoloadolva, és még ráadásul a hibajelzéseid is el voltak nyomva, és ha már így alakult, még hibanaplózás sem történt?
A vércukorszinteddel akkor az egészséged és hatékonyságod érdekében is javaslom, hogy kezdj valamit.
-
Lacces
őstag
válasz
Sk8erPeter #14583 üzenetére
Egyszer csak azt vettem észre, hogy én sosem használtam így az include '/path/to/file' a behúzást. (NetBeans ezt kínálta fel, én meg szeretem használni ezt a segítséget, mert gyorsabb gépelni)
Aztán használtam az include()-t, és simán jó lett minden.
Újabban sokszor leesik a vércukor szintem, és nehezebb az ilyen hibákat is észrevenni. Nem nagyon tudok ilyenkor gondolkodni... de nem szeretem feladni sem a probléma megoldását. -
fordfairlane
veterán
válasz
fordfairlane #14584 üzenetére
mégmegy helyett végigmegy
-
fordfairlane
veterán
Két dolog kell hozzá. Egy olyan komponens, amelyik egy adott könyvtár teljes tartalmán rekurzívan mégmegy, valamint egy ID3v2 olvasó komponens. Adatbázisba letárolni a tageket már nem nagy ördöngősség. Megfelelő kulcsszavakkal sok találatot dob ki a google, kész PHP osztályokat.
Inkább azzal lehet probléma, hogy ekkora mennyiségű fájl feldolgozásához sok idő kell, aminek lehetne futásidejű korlátai, és persze az, hogy nem triviális dolog monitorozni egy ilyen háttérjellegeű PHP folymaatot, hogy épp hol tart.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #14578 üzenetére
Mi nem?
(#14577) Lacces :
Mi az, hogy "utólag nem"?Amúgy jól elvagytok.
-
Sk8erPeter
nagyúr
PHP-alapokon, elejétől megírva macerás lehet, úgyhogy inkább kész programot ajánlanék, ami elég komoly és összetett:
Helium Music Manager
http://www.helium-music-manager.comMS SQL- és MySQL-adatbázisba is tud menteni. Persze a saját adattábláit hozza létre és használja, ez nem testreszabható, de rengeteg szempont szerint tudsz szűrni.
-
dmc
aktív tag
Sziasztok!
Nem tudom hogy a következő problémát meg lehet e oldani?
Adva van kb 300Gb nyi zene egy szerveren és ezeknek a zenéknek az ID3v tagjait tudom e szerkeszteni és egy adatbázisba elmenteni?
Ha igen valami kiindulását tudnátok adni?Köszönöm
-
Lacces
őstag
válasz
Peter Kiss #14578 üzenetére
Köszi, akkor tovább keresem a problémát.
-
Lacces
őstag
Hali,
Lehet valamit elfelejtettem, de mintha nálam nem működik az objektumok betöltése a PHP-nál... Nem tudom, hogy mi a gond
(valamit kihagyok?)
Mindegyik fájl egy mappában van!
index.php (NetBeans alap generálás, mielőtt még valaki itt beszólna)
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
error_reporting(E_ALL);
$model = new Model();
$controller = new Controller($model);
$view = new View($controller, $model);
echo $view->output();
?>
</body>
</html>class Model
{
public $string;
public function __construct(){
$this->string = "MVC + PHP = Awesome!";
}
}
class Controller
{
private $model;
public function __construct($model) {
$this->model = $model;
}
}
class View
{
private $model;
private $controller;
public function __construct($controller,$model) {
$this->controller = $controller;
$this->model = $model;
}
public function output(){
return "<p>" . $this->model->string . "</p>";
}
}Pedig ennek alapból kellene működnie, nem?
Semmi sem jelenik meg a böngészőben, az echo-k is csak az objektum létrehozása előtt jelennek, utólag nem. -
DeltaPower
addikt
válasz
PumpkinSeed #14575 üzenetére
alapértelmezésben kiveszi, vagy beírod így, ha csak a newline-t akarod kiszedni (spacet, tabot nem):
trim($str, "\n\r");
ha pedig csak a sor végéről, akkor rtrim-et használsz -
PumpkinSeed
addikt
válasz
DeltaPower #14574 üzenetére
Nem, de erre nem is gondoltam viszont a newline-t mivel tudnám akkor jelezni, hogy azt vegye ki?Megvan.
-
DeltaPower
addikt
válasz
PumpkinSeed #14573 üzenetére
beolvasás után trim-eled?
-
PumpkinSeed
addikt
Hogyan tudom azt kivitelezni, hogy a karaktersorozat bekérésnél az fgets ne kérje be a newline karaktert?
<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/../hungarian.txt","rb");
$szavak = fopen("$DOCUMENT_ROOT/../szavak.txt","ab");
while (! feof ($fp)) {
$szo = fgets ($fp, 999);
$szo = ucfirst($szo);
echo $szo."<br>";
fwrite ($szavak,$szo);
}
fclose ($szo);
fclose ($szavak);
?> -
Zedz
addikt
válasz
Peter Kiss #14571 üzenetére
Uhhh hát ez így elsőre elég advancednek hat, utánaolvasgatok akkor ezeknek, köszi.
-
Peter Kiss
őstag
Hát, ezt elég hosszan lehetne sorolni, miként valósítható meg.
Valószínűleg neked a DAO fogalmával kellene megismerkedned, aztán ilyen objektumokon megvalósítani az adatelérést, persze olyan módon, hogy az alkalmazás egy DAO-t sem lát csak egy interface-t.
interface UserDao() {
function GetUserById($id);
function GetByMailAddress($mailAddress);
function GetAll();
function AddUser(User $user)
/* ... */
}
Aztán ezt implementálni egy osztállyal, aminek van egy függősége a PDO-ra, ha SQL-t szeretnél mögé tenni. Nyilván, ekkor is SQL típus specifikus lesz a DAO-d. Az interface-t nyilván implementálhatod úgyis, hogy az adatok memóriában vannak pl. egy tömbben, így elég könnyen lehet (unit) tesztelni, mert nem fügsz gyakorlatilag semmitől, ismertek, stabilak az adatok.
Ha ez átjön, hogyan tud működni, akkor léphetsz tovább, például az is megoldható, hogy leírod az adott SQL típust (speciális karakterek, sémákat használ-e, speciális műveletek, stb) egy abstract "izén" (abstract class-t kell elképzelni egy jól felépített alap logikával [interface-t ebből is érdemes kreálni], majd pl. ebből lehet származtatni MySqlProvider és hasonló megnevezésű dolgokat.) keresztül, majd ezt felhasználva dinamikus építed meg a lekérdezéseket, de ez nem 2 perc alatt hozható össze.
-
Zedz
addikt
válasz
Peter Kiss #14552 üzenetére
Ha nem gond egy kicsit visszatérnék ehhez a hozzászóláshoz. Írtad, hogy az lenne szép ha az alkalmazásnak gőze sem lenne arról, hogy milyen SQL adatbázis van mögötte. Ez hogy oldható meg? Kell egy külön fájl ahová csak a lekérdezések kerülnek, és vissza adok egy értéket a controllernek?
-
válasz
Sk8erPeter #14567 üzenetére
Én nálam ugyan olyan gyors mind a kettő!
A Notepad++ szerintem az egyik legjobb szerkesztő ennek ellenére! Visszatérve az eredeti témához, szerencsére be lehet benne állítani a fájl kódolást.
mobal,
-
Zedz
addikt
válasz
Sk8erPeter #14567 üzenetére
Szerintem a phpDesigner a legjobb mindenre.
-
Sk8erPeter
nagyúr
Na ja, ebben igazad van, már nagy fájlok beolvasásánál is elvérzik a sima Notepad, szemben a Notepad++-szal, ami igen nagy fájlokkal is egész jól megbirkózik. A Notepad gyorsasága alatt inkább az elindulás tempójára gondoltam például kis fájlok esetén, Notepad++ azért már két plugintől is hozzá képest érzékelhetően lassul, bár ezen nem is kell annyira meglepődni, azoknak a cuccait is be kell tölteni. Cserébe egy jól használható szövegszerkesztővel van dolgod, nem pedig egy fostalicskával.
-
biker
nagyúr
válasz
Sk8erPeter #14565 üzenetére
nem gyors.
Korábban ide is tettem be tesztet, a kb 5 funkcióból amit tud, keresés és csere, nagy mennyiségű adatnál, kb 60.000 sorban 120.000 előfordulás cseréje soronként olyan 4-500 karakter volt, ebben 3 karakter cseréje
c2d procin
nptepad cserélte 2 percig, kifehéredve az ablak közben, zombiként
notepad++ meg 5mp alatt -
Sk8erPeter
nagyúr
válasz
CSorBA #14564 üzenetére
Ettől még a Notepad analfabéta, ostoba szövegszerkesztő. Lényegében egy textarea egy ablakkal, pár rettenet egyszerű menüponttal, és kész. Pont a butaságától gyors, de ettől még nem lesz jó.
De nyilván ezt a többség vágja, nem kell külön mondani, ezért más az alapértelmezett szövegszerkesztője.
Amúgy a unix2dos eszközre most nincs szükség, egyelőre a kódolás fázisában tart, meg tudja változtatni a kódjában a sorvégződést \r\n-re, ha Windows-os sortörést akar, vagy megváltoztathatja a platformfüggő PHP_EOL-ra is, de ha ezt UNIX-alapú rendszereken használja, akkor az ugyanúgy \n-t jelent. De amúgy sem a Notepadhez kell igazítani az igényeket. -
CSorBA
őstag
válasz
PumpkinSeed #14563 üzenetére
Nem tudtam, hogy ennyire analfabéta a Windowsos jegyzettömb.
A hangsúly nem az analfabétaságon, hanem a windowsoson van. Máshogy van kódolva, más a sortörés. Notepad++ ezt tudja érzékelni, de attól még neked rossz a sortörésed windows alatt.
Ajánlom: [link] -
PumpkinSeed
addikt
válasz
Sk8erPeter #14562 üzenetére
Igen ezt már annyira megszoktam, hogy álmomból felkeltve is ezt írnám, de megpróbálok jó útra térni.
Viszont, lehet tényleg egy normális szövegszerkesztőben kellene nézni, Jegyzettömbben nem ment, de NotePad++-ben a várt eredményt kaptam. Nem tudtam, hogy ennyire analfabéta a Windowsos jegyzettömb.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #14561 üzenetére
Nálad betegség ez a </br>?
Itt is (meg más topicban is már) ugyanezt használtad, akkor is írtam, hogy csak <br /> vagy <br/> vagy <br> van.
Egyébként csak egyszer gondold már végig, hogy itt milyen "megnyitott" taget akarnál lezárni, ami miatt az elejére teszed a perjelet? Semmilyet, mivel ez self-closing tag, ergo egyből a végére kell (HTML5-nél nem kell, de lehet) tenni a perjelet, szóval egyből lezárni az elemet.
Az érdemi problémára: azt sem írtad, hogy milyen platformon tesztelsz (először azt sem írtad, hogy nem böngészőbe írt kimenetről van szó, hanem txt-fájlról), de feltételezem, Windows-on, és azt sem írtad, azonbelül milyen szövegszerkesztőben nézed meg az eredményt, feltételezem, olyanban, ami a UNIX-os sorvégződéseket (\n, LF) nem "támogatja" (pl. sima Notepad, míg Notepad++ támogatja), csak a Windows-osat, ami CRLF, vagyis \r\n, vagy PHP_EOL Windows-on (a PHP_EOL Unixon az említett \n-t adja), magyarul a megoldás lehet, hogy \n helyett \r\n-et írsz, vagy például használsz egy normális szövegszerkesztőt, és abban nézed meg...
-
whYz
őstag
válasz
PumpkinSeed #14559 üzenetére
Ez se nagyon php kerdes amugy, de ha jol tudom \n-hez <pre> tag kell. Amugy hasznalj <br />-t vagy <div>-et vagy akarmi mast.
-
PumpkinSeed
addikt
Van egy ilyenem:
$kimenet = $datum."\t".$abroncs." gumiabroncs\t".$olaj." olaj\t".$gyertya." gyertya\t".$kormany." kormány\n";
A tabulátor gond nélkül megy de a \n nem teszi új sorba valamiért. Mi lehet a gond?
jsfiddle-n nem találtam PHP támogatást.
-
sztanozs
veterán
válasz
Peter Kiss #14552 üzenetére
Ja és kifelejtetted a rossz SQL kérés logikát: rossz jelszóval is beenged, mivel csak a felhasználónevet ellenőrzi. Ja és még ott van az SQL injection is.
-
Zedz
addikt
válasz
Peter Kiss #14555 üzenetére
A fentebb felsorolt lista elemeket akkor mind-mind külön fájlba kellene megírnom, a controllerrel meg csak összerántani?
-
Peter Kiss
őstag
$_POST egy globális változó, amire támaszkodni nem igazán kellene, főleg nem egy alkalmazás mélyebb bugyraiban.
A Controller az uolsó pont, ahol találkozhatsz a $_POST-tal. Utána onnan bárhová átadhatod a szükséges adatot paraméterként, pl.:
$this->_loginService->Login(new LoginUser($_POST['username'], $_POST['password']));
De ezek a dolgok elég sok mindentől függnek.
-
Zedz
addikt
válasz
Peter Kiss #14552 üzenetére
$_POST miért gond? Hogy adhatom át másként a bevitt adatot?
-
fordfairlane
veterán
-
Peter Kiss
őstag
Hogy hogyan lenne szép, azt elég hosszan lehet taglalni, de:
LoginModel-nek összesen 2 dolgot kell tudnia: adni egy felhasználói nevet és egy ejlszót
Semmi köze ne, lehet ezekhez:
- session
- felhasználók tárolása
- a komplett alkalmazásnak nem lehetne igazából fogalma arról, hogy mögötte egy SQL adatbázis van, főleg nem így beégetve
- $_POST és egyéb globális cuccok
- echo egy model-ben? maximum view/template fájlban -
Zedz
addikt
válasz
Peter Kiss #14549 üzenetére
Miért? :S A fenti kód hogyan lenne szép?
-
Zedz
addikt
válasz
Peter Kiss #14547 üzenetére
Miért? Mi a baj vele? :S Sajnos a vizsgára készülő oldalnak CI-ben kell íródnia, a drágalátos Smartyval karöltve.
-
Zedz
addikt
Sziasztok, van ez a kódom:
class Login extends CI_Model{
public function login(){
if(array_key_exists("login",$_POST)){
$username = $_POST['username'];
$password = $_POST['password'];
$query = $this->db->query("SELECT * FROM users WHERE nev='$username'");
if($query->num_rows()>0){
$this->session->set_userdata('logged_in');
}
else{
echo "rossz e-mail cím vagy jelszó";
}
}
}
}A gond az, hogy amit kiechozok azt 2x írja ki. Miért? Codeigniterben írok most egy tesztoldalt, még csak ismerkedem a CI-vel, szóval lehet valahol más lesz a gond.
A választ előre is köszönöm!
-
Speeedfire
félisten
-
Speeedfire
félisten
válasz
Peter Kiss #14536 üzenetére
Valóban.
-
válasz
Sk8erPeter #14542 üzenetére
Nem tudok már mire gondolni, mert érzésem szerint "több" (az empty) és ahogy te írtad: "az empty() az isset által végzett feladatot is lefedi". Ha nem jobb de szerintem biztos, hogy nem rosszabb megoldás.
Csak találgattam.
mobal,
-
Sk8erPeter
nagyúr
De nem is meglepő, hogy nem generál warningot, mivel az empty() az isset által végzett feladatot is lefedi, ahogy meg is beszéltük, tehát a változó beállítottságát/létezését is vizsgálja, nemcsak annak "ürességét", meg az isset()-hez hasonlóan erre is vonatkozik, hogy "this is a language construct and not a function".
De ezt Te is vágod, hiszen pont erre hivatkoztál itt, hogy redundáns lenne mindkettőt használni egy adott változóra.No de igazából az eredeti felvetést kellene megfejteni inkább, hogy mi az, hogy "nem ajánlott az empty".
-
válasz
Sk8erPeter #14540 üzenetére
"A variable is considered empty if it does not exist or if its value equals FALSE. empty() does not generate a warning if the variable does not exist."
A dokumentáció alapján erre gondoltam.
-
válasz
Peter Kiss #14533 üzenetére
Köszi. Fogalmam sincs, ezért kérdeztem.
Speeedfire: nem azért olvastad, hogy nem jó mert esetleg nincs semmi hibaüzenet?
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #14536 üzenetére
(#14535) Speeedfire :
Ahogyan arra előttem tanult kollégánk elég tömören rávilágított, ez a kijelentés ebben a formában értelmetlen. Szerintem ha erről olvastál, akkor az valami olyasmiről szólhatott, hogy nem biztos, hogy jó, ha mindenáron lustán rászokunk az empty() túlzott használatára validálásnál vagy egyéb esetekben, jobb néha a kódban egyértelműen az elvárt adattípusra vizsgálódni (pl. NULL-ról vagy empty stringről van-e szó, FALSE-ról, vagy másról), igaz, az empty() - mint látható az ennek megfelelő esetekből - elég sok lehetőséget lefed. Persze csak tipp, hogy valami ilyesmire gondolhattál. De tényleg "attól függ".(#14537) mobal :
látom szereted lerövidíteni kifejtés helyett.
Hát erre most azt tudom mondani, hogy olvasd el itt Athlon64+ második bekezdését, sokkal rövidebben és lényegre törőbben sikerült válaszolnia, mint ahogy én előbb próbálkoztam neked egy jó hosszú hsz.-szel, amire Te visszaböfögtél egy mondatot, azt' részedről elintézve.Remélem, értékeled, hogy most a moderátori kedvedért egy hsz.-be nyomorítottam több hsz.-t...
Akármilyen gusztustalan is, több hsz. írása helyett.
-
válasz
Sk8erPeter #14534 üzenetére
EGY tranzakcióz belül KÉT műveletet KÉPES a mysql végrehajtani ÚGY, hogy az egyik paramétere az ELSŐ tranzakció során születik meg?
-
Peter Kiss
őstag
válasz
Speeedfire #14535 üzenetére
Minden attól függ, mit szeretnél elérni milyen lehetséges adatokkal. Ha valaki azt mondja bármelyikre is, hogy ez az ultimate good solution, akkor az idióta.
-
Speeedfire
félisten
válasz
Sk8erPeter #14525 üzenetére
Valahol mintha azt olvastam volna, hogy nem ajánlott az empty, inkább az isset. Nem tudok rá érvelni, mert nekem csak ennyi rémlik.
-
Sk8erPeter
nagyúr
Én csak azt nem értem még mindig, hogy a parse-olásnak, meg a tageknek mi köze van az adatbázishoz, meg a konkrét queryhez, amivel feltöltöd. Először parse-olod az adatokat PHP-vel gondolom, kinyered a kapott eredményből a neked szükséges szavakat, aztán pedig azokat a szavakat el akarod tárolni adatbázisban, mármint az összeset, nem? Most az a kérdés igazából, hogy hogyan állíts össze egy query-t PHP-vel? VAGY pedig az a kérdés, hogy mondjuk hogyan csináld meg azt, hogy az egyik táblában tárolod a keresőszavakat, aztán van egy kapcsolótáblád, amibe meg be akarod nyomni az adott szóhoz tartozó id-t. Na de ehhez megint nem szabadna, hogy köze legyen bármilyen tagnek is, hiszen azt fel kellett, hogy dolgozd az alkalmazásodban, de nyilván nem egy query-ben kellene ezt megtenned. Tárolt eljárással a kapcsolótáblás feltöltés elintézése is amúgy megoldható, ja, ha ez a kérdés, de még megoldható hatmillióféleképpen.
Csak kicsit kuszálódtak itt a dolgok.
DE akár azt is megcsinálhatod, hogy amennyiben auto_increment meződ van a keresőszavakat tároló tábládban, akkor megjegyzed, honnan kezdted feltölteni, és az annál nagyobbakhoz tartozóakat meg a feltöltés után nyomod a kapcsolótáblába... De ennél értelmesebb megoldás is nyilván lehet, ha kicsit jobban megértjük, mit akarsz.
Na jó, én értem, mire gondolok, elég kuszán fogalmaztam, csak most nincs energiám átfogalmazni érthetőbben, de hátha valami így is átjön.
Hozzáteszem, Te sem fektettél túl sok energiát a kérdésed szabatos megfogalmazásába, és még a végére engem is belekavartál, aztán elkedvetlenedtem.
-
válasz
Sk8erPeter #14531 üzenetére
Van egy forrás amit parsolok időnként. Abba vannak keresőszavak és azt akarom eltárolni. Adatbázisba pedig egy az n kapcsolat van az elemek és a keresőszaka között. Na most az új keresőszavak tárolását akarom egy tranzakcióba sűríteni (tehát kereső szó + kapcsolat), de van egy olyan érzésem nem lehet.
Esetleg tárolt eljárással?
-
Sk8erPeter
nagyúr
Ezt meg tudnád fogalmazni érthetőbben, hogy mi a pontos cél, és egyáltalán mire lesz ez jó?
(#14530) Kurik :
Ja, hát úgy értettem, hogy a kiszolgálógépen, ahol a batch-progit végül is lefuttatod az exec() fv.-nyel, ott megjelenik-e a µTorrent felhasználói felülete, vagy sem a fv.híváskor - ezek szerint nem, csak háttérben futkorászik, de nem gond, mert nincs rá szükséged. -
Kurik
tag
válasz
Sk8erPeter #14525 üzenetére
-
Azt meg lehet csinálni egy sql query-vel, hogy először elmentek egy tag-et, majd egy másik táblázatba beállítom annak az id-ját?
mobal,
-
Sk8erPeter
nagyúr
válasz
fordfairlane #14526 üzenetére
"Olyan, mint az isset, csak még pluszban leellenőzi, hogy false-e a tartalom."
Mondjuk ezzel kapcsolatban lehet, hogy vki számára félrevezető a php.net-en lévő infó, hogy "A variable is considered empty if it does not exist or if its value equals FALSE", mert inkább a visszatérési értéknél írtak tűnik egyértelműbbnek a leírás: "Returns FALSE if var exists and has a non-empty, non-zero value.""The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)"Az "if its value equals FALSE" olyan, mintha ilyen ellenőrzés történne: ($var === FALSE), pedig a listából látható, hogy nem erről van szó, és a visszatérési értéknél írtak picit mintha inkonzisztensek vagy ellentmondóak lennének az első idézett állítással (mert a FALSE is empty, de még más is).
-
válasz
Speeedfire #14524 üzenetére
Ebben az esetben jó lesz, mert ugye egy "ha" feltételben van. De ha jobban tetszik
if (isset($_POST['delete_id']) && $_POST['delete_id'] != null)
Szerk.: van itt valaki aki komolyabban ért a Mustace template kezelő motorhoz?
mobal,
-
fordfairlane
veterán
válasz
Speeedfire #14524 üzenetére
Ha a változó nem létezik, akkor sem generál warningot. Nem függvény, hanem nyelvi szerkezet. Olyan, mint az isset, csak még pluszban leellenőzi, hogy false-e a tartalom.
-
Sk8erPeter
nagyúr
-
-
aero.
veterán
válasz
fordfairlane #14521 üzenetére
1. Visszakerült
2. Majd ha működik kap rendes formát, most csak hánytam
3. Jogos észrevétel ... éés valószínűleg a hiba oka is volt, mivel most már jó. Ja meg igen, a DELETE után a csillag nem kell, egy kísérletezésből ott maradt.Köszönöm szépen a gyors segítséget
-
fordfairlane
veterán
A hibajelzés valószínűleg ki van kapcsolva, így egyáltalán nem eseménytelen, csak épp nem látod, hogy mi történik.
1. delete.php-nak is szüksége van mysql connectionra, akárcsak a listázónak.
2. A form legyen td-ben.
3. input mező value-jának csak egyik oldalán van idézőjel, legyen mindkettőn.value='.$row['ID'].'" />'; helyett value="'.$row['ID'].'" />';
-
aero.
veterán
válasz
Peter Kiss #14519 üzenetére
Már próbáltam, hátha az a hiba, de így sem. Pontosabban ugyanúgy eseménytelenül lefut és visszaadja az oldalt. Éppen az, hogy én annyira nem értek hozzá, szóval így nem fogom tudni megmondani mi a hiba.
-
aero.
veterán
Admin felületről szeretnék egy olyat, hogy listázza ki a postokat (ez már adott volt), mellé pedig egy törlési lehetőséget, ami értelemszerűen sql-ből kiszedi. Találtam egy topikot a neten, ott vázoltak is egy komplett scriptet, de valami nem okés, üresen lefut eredmény nélkül.
Vázolom, már átalakítva:
teszt.php
<?php
include '../connect.php';
echo "<table class='lista' border='0'>
<tr>
<th>ID</th>
</tr>";
$eredmeny = mysql_query('SELECT * FROM posts');
while ($row = mysql_fetch_array($eredmeny))
{
echo "<tr>";
echo "<td>" . $row['ID'] . "</td>";
echo '<form action="delete.php" method="post">';
echo '<input type="hidden" name="delete_id" value='.$row['ID'].'" />';
echo '<input type="submit" value="Törlés" />';
echo '</form>';
echo "</tr>";
}
echo "</table>";
?>delete.php
<?php
if(isset($_POST['delete_id']) && !empty($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE * FROM posts WHERE `ID`=".$delete_id);
}
header('Location: teszt.php');Hiba nélkül lefut, de semmit nem csinál. Itt a thread, ahonnan néztem. [link]
-
Kurik
tag
válasz
Sk8erPeter #14516 üzenetére
Nagyon szépen köszönöm mindenkinek a segítséget életre kelt a technika.
Ez a másolás hiányzott...Ha lenne valaki ilyen elvetemült mint én, ne lepődjön meg csak háttérbe fut. Nekem ez nem jelentett problémát mivel ott a WebUI.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #14514 üzenetére
Na ez nem egy rossz gondolat. Alapból valóban az %appdata%\uTorrent könyvtárban keresgéli a settings.dat, resume.dat fájlt, ami felhasználóhoz kötődik, abban az esetben, ha normál telepítés van fent. A 3.xx akárhányadik verziótól kezdve lehet ELEVE portable-módban is telepíteni.
A 2.x változatoknál az jelenti a portable módot, ha az utorrent.exe könyvtárral azonos könyvtárban található a settings.dat, resume.dat fájl. Ekkor az %appdata%\uTorrent könyvtár tartalmával nem törődik, nem keresi, ezzel tehát áthidalható lenne a probléma (ha eleve portable-módban próbálná meg használni, az %appdata%\uTorrent könyvtárban lévő adatok gondos átmásolásával az utorrent.exe mellé, persze backup nem árt).
Legalábbis feltételezem, nem szeretné, ha ugyanannak a felhasználónak a nevében futna a php-folyamat is. -
Kurik
tag
válasz
Sk8erPeter #14511 üzenetére
A feladatkezelőbe berakja, de nem normálisan fut, mint az legelső kommentemben írtam. "feladatkezelőbe látszik, de maga a program nem indul el. Ez abból is látszik, hogy ilyenkor 5MB ramot fogyaszt, viszont ha kézzel indítom el 25MB-ot."
Viszont ha bat-et kézzel elindítom (kettőt rákattintok
) elindul rendesen.
-
Sk8erPeter
nagyúr
válasz
SirRasor #14507 üzenetére
http://stackoverflow.com/questions/15385965/php-pdo-with-foreach-and-fetch/15386195#15386195
Szerencsére elmagyarázták helyettem is -
Sk8erPeter
nagyúr
Egyszerűbben megközelítve a kérdést: amennyiben írsz egy nagyon egyszerű, egysoros batch-fájlt, aminek az egyetlen dolga csupán az utorrent.exe elindítása, majd pedig ezt a batch-fájlt (nem közvetlenül az utorrent.exe fájlt!) próbálod futtatni exec() függvénnyel, akkor mi a helyzet?
-
fordfairlane
veterán
válasz
SirRasor #14509 üzenetére
Mondjuk én is $pdo-val példányosítom a pdo-t
Az mindegy, az az általános db interfész, amin keresztül érkezik a többi. Kvázi factory osztály, azon kívül, hogy ennek a konstruktorával van megoldva a db kapcsolat kiépítése, és a főbb konfigurációs paraméterek átadása.
A statement már specifikusabb dolog, PHP-s reprezentációja egy adott lekérdezésnek, annak paramétereinek és annak eredményének. A result meg sokszor csak egy tömb, már nálam az is objektum szokott lenni, hogy legyen típusa annak is.
-
SirRasor
addikt
válasz
fordfairlane #14508 üzenetére
Közben összevontam rafináltan 1-be, de azért thx; így már kezd világosodni a dolog
eddig $query elnevezést használtam, csak neten egyre több helyen láttam kiírva a $result-ot erre a helyre, de akkor átpártolok az $stmt-re. Mondjuk én is $pdo-val példányosítom a pdo-t
-
fordfairlane
veterán
válasz
SirRasor #14507 üzenetére
A PDO statement nem csupán egy lekérdezés eredménye, hanem komplex objektum, aminek része az eredményhalmaz is. Én a helyedben kiszedném egy tömbbe.
$tomb = $result->fetchAll();
Tömbön pedig nem gond többször iterálni.
És átnevezném a $result - ot $statement -re vagy $stmt -re, hogy beszédesebb neve legyen. Vagyis:
$stmt = $pdo->prepare($querystr);
$stmt->execute($queryparams);
$result = $stmt->fetchAll();
foreach(...)
reset
foreach(...); -
SirRasor
addikt
Hoi! Csak egy gyors kérdés:
PDO lekérdezés $result->execute(array..
végigmegyek az elemeken:foreach($result as $data) { .. } a $data szépen visszaadja az értékeket.
Ha viszont utána (és nem benne!) csinálok még egy foreachet, akkor a $data már teljesen üres lesz, mintha a $result elbandukolt volna a végére és nem állna vissza.
Ötletek?
-
-
Kurik
tag
válasz
Sk8erPeter #14501 üzenetére
Igen, már ajánlottad az ajaxplorer-t másik bejegyzésemre is. Ki is próbáltam, de feleslegesnek éreztem.
A video megtekintéssel semmi gondom, megoldottam magamtól.A célom: Elindítom a kiválasztott video-t automatikusan leállítja az uTorrentet, majd megtekintem a video-t majd azt szeretném, hogy ha végzett a video induljon el vissza az uTorrent.
A pillanatnyi kódom működik is le is állítja meg is nézem a video-t, de nem indul el vissza az uTorrent, vagy is elindul de az első hsz-ben leírtak szerint beteszi a feladatkezelőbe és pont a vége.Bármelyik programra kicserélem jól működik, csak az uTorrentet nem indítja.
Az ütemezett feladat: Olyat olvastam, hogy tegyem ütemezett feladatba az "elindítást" mondjuk percenként, ami áll egy ellenőrző batch-ből, és ha megtalálja az indít.txt akkor lefuttatja az uTorrentet, majd törli az indít.txt. A php-vel meg hozzam létre az indít.txt amikor szeretném futtatni. De nem hiszem, hogy ez lenne a legegyszerűbb megoldás...
A webhozzáférés jelszóval el van látva emiatt nem aggódok.
Tudom mit szeretnék, maximum nem tudom kifejezni magamat.A jogosultságokról tudnál írni? Vagy az nem lehet probléma?
Köszönöm a hozzászólásodat! -
#68216320
törölt tag
Köszönöm a megoldásokat.
Egy észrevétel: milyen már, hogy a gugli a php.net-es találatokat nem hozza be, mert kártékony oldalnak jelöli?
Félnek a feltörekvő konkurenciától?
-
Sk8erPeter
nagyúr
AjaXplorerrel, pontosabban új nevén Pydio-val tudnád távolról is nézni a megosztott tartalmakat bejelentkezést követően, amennyiben webszerver is van a gépeden, és azt működésre bírod, hogy távolról meg tudj tekinteni rajta egy weblapot:
http://pyd.ioMár ha ez megfelelő.
Ez alapvetően egy nagyon ügyes kis fájlmegosztó, amibe rengeteg plugin van építve, akár dokumentumok szerkesztésére, videók/képek megtekintésére, akár tömörített állományok tartalmának megnézésére, meg egyebekre. Biztosít többfelhasználós működést, egymással megosztogatást is, a regisztráció/bejelentkezés pedig eleve adott.Az még nekem nem teljesen tiszta, hogy amennyiben igazából a videó-megtekintések idejére pont, hogy leállítani szeretnéd az utorrent.exe-t, akkor miért az volt az eredeti cél, hogy elindítsd.
Az exec()-hez és hasonlókhoz pedig jogosultságokat kell biztosítani (ami erősen megfontolandó!). Az ütemezett feladatos megoldást hogy érted? Kicsit most számomra keverednek az eddigi ötletek a végcéllal, picit ellentmondónak tűnnek a szempontok.
Új hozzászólás Aktív témák
Hirdetés
- Apple Ipad 10.generáció
- Új HP Pavilion x360 14-ek Érintős hajtogatós Laptop Tab 14" -35% i5-1335U 8/512 FHD IPS Iris Xe
- RTX 4080 SUPER,16GB. Ryzen 7 7800X3D, 32 RAM Fury RGB! Garancia!
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- Csere-Beszámítás! Gamer PC Számítógép! R9 3900X / RX 6700XT / 32GB DDR4 / 1TB SSD
- BESZÁMÍTÁS! ASRock B550M R5 5600 16GB DDR4 512GB SSD RX 6600 XT 8GB Kolink Observatory LM RGB 600W
- ASUS TUF Gaming F16 FX607JV-QT212 Notebook
- LG 27GR95QL - 27" OLED / Limitált LoL Edition / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync
- Xiaomi Redmi Note 11 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged