- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Humanoid robotokat visz az AI-szervergyárba az NVIDIA és a Foxconn
- Nehéz helyzetben az SMIC, régebbi chipet használ az új Huawei laptop
- One otthoni szolgáltatások (TV, internet, telefon)
- 1000 milliárd dolláros AI-központot akar az USA-ban a SoftBank
Új hozzászólás Aktív témák
-
fordfairlane
veterán
Symfony sem tud szerintem igy forditani, vagy igen?
A templatekezelőben beépítve van egy translator helper funkció:
Persze lehet a kódban is, ott persze metódushívással lehet, és más frameworkoknél meg nyilván mások a lehetőségek.
-
fordfairlane
veterán
jogos e a szörnyülködésem, ha a controllerbe beírnak kézzel szöveget, amit meg is jelenít a weblapon?
pl PagesController.php-ben benne van egy "ha nincs kategória név, akkor $categoryName="Main Categories" féle rész? Nem az lenne a lényeg, hogy a kontroller lekéri a modelből az adatokat, amit a view megjelenít?
Ez attól függ. Ha nincs külön viewmodel, ami kezeli a logikáját az adott megjelenítésnek, akkor előfordulhat ilyen kis baleset, hogy a controllerbe kerül a megjelenítési logika. Ez adott esetben megbocsájtható, mert a nézet általában valamiféle template-nyelv szokott lenni, aminél ugyanúgy nem jó, ha komplex logikai elemek, vezérlőszerkezetek kerülnek.
és ha a az ilyenmain controllerben jquery notify ablakot is generál mint mondjuk "Success" ???
Ez már problémásabb. Az ilyet ajánlatos nézet template-be tenni.
- azt már fel sem említem, hogy a több nyelvűre kért site set_locale és i18 nélkül és minden szöveg kézzel beleírva...
Előfordul az ilyen. Symfonyban például az ilyen szövegrészeket utólag a Translator komponens segítségével könnyen át lehet tenni a megadott nyelvre. A CakePHP-t nem ismerem.
Az MVC paradigma megértése és használata szerintem fontos dolog, enélkül nehezen tudom elképzelni komplex rendszerek fejlesztését és karbantartását. Az MVC az objektum orientált programozás egyik alapvető tézisére, a Single Responsibility Principle-re épül, ami nélkül a program inkább csak objektumot használó, mint sem objektum orientált.
-
cidalain
veterán
hát pont ezaz. én biztosan nem hagynám így elkanászodni a megrendelőt.
biztos lehet nemet is mondani egy felkérésre. van az a pont hogy valami értelmetlen. ez pont olyan szitu.
vagy bemondanék egy rohadt nagy számot + hosszú fejlesztési időt, aztán szívjon vele más. ha meg mégis elfogadják, na mondjuk akkor gáz van, de legalább lesz pénz, és van rá idő -
sztanozs
veterán
Szvsz attól, hogy hogy tárolod a session-t kliens oldalon (cookie / url / hidden form field) még ugyanúgy el tud tűnni a session a szerver oldali tárolóból. Valószínűleg szerver oldalon maximalizálva van a nyitott session-ök száma, ha ezt eléri, akkor a legrégebbieket a rendszer akkor is törli, ha te hosszább lejárati időt definiáltál. Esetleg az lehet megoldás, ha nem szerver default session menedzsmentjét használod, hanem te kezeled a session-t adatbázisba.
-
Sk8erPeter
nagyúr
"Az echonál ok, hogy ugyanaz ()-el mint nélküle, de mi vihet valakit arra, ilyet írjon le?"
Mármint ezt hogy érted? Mi a baj vele?Amúgy zseniális, hogy honda még engem nevez tahó parasztnak, amikor hónapokon át a legkitartóbbak között voltam, akik segítettek neki az oltásokkal együtt.
De ezzel a személyeskedő hozzászólásával (amire inkább nem is reagálok) elintézte, hogy innentől kezdve semmit ne segítsek neki többet.
-
Tele von Zsinór
őstag
Az extract függvénnyel egyszerűbb ez:
extract($_SESSION);
extract($_SERVER);
extract($_GET);
extract($_POST);
extract($_COOKIE);Az echo pedig zárójellel, illetve nélküle ugyanúgy viselkedik. Ez az egyik olyan nyelvi elem, ahol nem kötelezőek a zárójelek, így kapásból csak a return jut még eszembe, mint másik ilyen.
-
DR|FTK|NG
veterán
Köszönöm.
Így néz ki a javított kód:
$min_num = ($_POST["min_num"]);
$max_num = ($_POST["max_num"]);
$no_num = ($_POST["no_num"]);
$true_num = mt_rand($min_num,$max_num);
while ($no_num !== 1){
$true_num = $true_num." - ".mt_rand($min_num,$max_num);
$no_num = $no_num-1;
}
print "Your numbers: ";
print $true_num;Végeredmény :
Your numbers: 4 - 1 - 4 - 3
1-től 5-ig, 4 számmal. -
disy68
aktív tag
Jelszó tároláshoz érdemes egy biztonságosnak tekintett hash algoritmust használni sóval (ami biztos, hogy az md5 és sha1 elavultnak tekinthető). Nem szabad abban bízni, hogy az általunk használt eljárás nem ismert (security through obscurity).
Természetesen plusz funkcióként használhatunk captcha-t (többszöri próbálkozás ellen), de ez nem mentesít a megfelelő tárolástól.
Ennek azért elég nagy az irodalma érdemes rendesen utánajárni, ha valóban fontos a biztonság (algoritmusok, só, iterációk, ellenőrzés).
Egy jó cikk a témában. Van példakód is pár nyelven.
-
DNReNTi
őstag
A nullával való osztás nincs értelmezve a valós számok halmazán.
PHP-ban ezt kapod rá: Warning: Division by zero in...
A változó az eredmény nulla helyett false lesz. Ezt elkerülendő írtam, hogy ellenőrizze megoldható e az adott művelet. Asszem ezt kiveséztük.(#16054) kemkriszt98
Na csak várjá' majd jön Brian oszt ad neked -
19.Norbika
tag
Minden végrehajtható ami a selectben is van. Bármilyen más művelet nem.
Pl.: egy tömb tartalmazza a valid műveleteket. Abból select generálás, és majd validálás.
Plusz a tömb bejárása elé a select-ben egy invalid option tag, a demonstráció miatt.Valami ilyesmire gondolhatott szerintem - vagy mégsem?
-
Peter Kiss
őstag
A mysql_query és társai csak 1 utasítást visznek át, te meg 3-at adsz ki.
-
Moretimer
aktív tag
Jogos!
<HEAD>
<script type="text/javascript" src="calendar/mootools.js"></script>
<script type="text/javascript" src="calendar/calendar.rc4_hu.js"></script>
<script type="text/javascript">
//<![CDATA[
window.addEvent('domready', function() {
myCal2 = new Calendar({ date1: 'Y.m.d.' }, { classes: ['dashboard'], direction: 1, tweak: {x: 3, y: -3} });
myCal2 = new Calendar({ date2: 'Y.m.d.' }, { classes: ['dashboard'], direction: 1, tweak: {x: 3, y: -3} });
});
//]]>
</script>
<link type="text/css" rel="stylesheet" href="css/stylesheet_small.css">
<?php
if (isset($email))
{
$hiba = "";
$date1 = chop ($date1);
$date2 = chop ($date2);
$felnott = chop ($felnott);
$gyerek = chop ($gyerek);
$szobatipus = chop ($szobatipus);
$ellatas = chop ($ellatas);
$telefon = chop ($telefon);
$email = chop ($email);
$megjegyzes = chop ($megjegyzes);
if ($date1 == "") $hiba .= "<font color='red'><b>Hiányzó érkezés!<b></font>";
else if ($date2 == "") $hiba .= "<font color='red'><b>Hiányzó távozás!<b></font>";
else if ($felnott == "") $hiba .= "<font color='red'><b>Hiányzó létszám!<b></font>";
else if ($szobatipus == "") $hiba .= "<font color='red'><b>Hiányzó szobatípus!<b></font>";
else if ($ellatas == "") $hiba .= "<font color='red'><b>Hiányzó ellátás!<b></font>";
else if ($telefon == "") $hiba .= "<font color='red'><b>Hiányzó telefonszám!<b></font>";
else if ($email == "") $hiba .= "<font color='red'><b>Hiányzó e-mail cím!<b></font>";
}
?>
</HEAD>
<HTML>
<BODY>
<?php
print "<FORM action='".$PHP_SELF."' method='POST'>
<table class='form_box' align='center' width='190px' border='0'>
<tr valign='top'>
<td width='95px'>ÉRKEZÉS</td>
<td width='95px'>TÁVOZÁS</td>
</tr>
<tr>
<td><input id='date1' name='date1' type='text'></td>
<td><input id='date2' name='date2' type='text'></td>
</tr>
<tr>
<td>FELNŐTT</td>
<td>GYEREK</td>
</tr>
<tr>
<td><input type='text' name='felnott' value='".$felnott."' size='8' maxlength='2'></td>
<td><input type='text' name='gyerek' value='".$gyerek."' size='8' maxlength='2'></td>
</tr>
<tr>
<td>SZOBATÍPUS</td>
<td>ELLÁTÁS</td>
</tr>
<tr>
<td>
<select name='szobatipus' value='".$szobatipus."'>
<option value='' selected'></option>
<option value='Egyágyas'>Egyágyas</option>
<option value='Kétágyas'>Kétágyas</option>
<option value='Családi'>Családi</option>
</select>
</td>
<td>
<select name='ellatas' value='".$ellatas."'>
<option value='' selected'></option>
<option value='Reggeli'>Reggeli</option>
<option value='Félpanzió'>Félpanzió</option>
</select>
</td>
</tr>
<tr>
<td>TELEFONSZÁM</td>
<td>E-MAIL CÍM</td>
</tr>
<tr>
<td><input type='text' name='telefon' value='".$telefon."' size='8' maxlength='50'></td>
<td><input type='text' name='email' value='".$email."' size='8' maxlength='50'></td>
</tr>
<tr>
<td>MEGJEGYZÉS</td>
<td><textarea rows='3' cols='33' name='megjegyzes' value='".$megjegyzes."'></textarea></td>
</tr>
<tr>
<td align='center'><input type='submit' value='Küldés!' class='form_box_button'></td>
<td>";
if (!isset($email) || $hiba != "")
{
if ($hiba != "") print ($hiba);
print "</td>
</tr>
</table>
</FORM>
";
}
else if ($hiba == "")
{
$ido = date("Y.m.d. - H:i:s", time())."\r\n";
$fejlecek = 'Content-type: text/html; charset=utf-8' . "\n";
$fejlecek = 'MIME-Version: 1.0' . "\n";
$fejlecek = 'From: '.$email."\n";
$fejlecek = 'Reply-To: '.$email."\n";
$fejlecek = 'Errors-to: '.$email."\n";
$cimzett = 'rendeles@lorenapanzio.hu';
$targy = 'Ajánlat kérés';
$uzenet = "
<br>
<small>Önnek üzenete érkezett a <b>Szoba.LorenaPanzio.hu</b> weboldalról.<br>
A feladás időpontja: ".$ido."</small>
<hr>
<br>
Tisztelt Hölgyem / Uram!<br>
<br>
Ezúton szeretnék árajánlatot kérni az alábbiak szerint:<br>
<table align='center' width='500px' border='0'>
<tr>
<td width='150px'><b>Érkezés:</b></td> <td width='350px'>".$date1."</td>
</tr>
<tr>
<td><b>Távozás:</b></td> <td>".$date2."</td>
</tr>
<tr>
<td><b>E-mail:</b></td> <td>".$email."</td>
</tr>
<tr>
<td><b>Telefonszám:</b></td> <td>".$telefon."</td>
</tr>
<tr>
<td><b>Felnőttek száma:</b></td <td>".$felnott." fő</td>
</tr>
<tr>
<td><b>Gyerekek száma:</b></td> <td>".$gyerek." fő</td>
</tr>
<tr>
<td><b>Szobatípus:</b></td> <td>".$szobatipus."</td>
</tr>
<tr>
<td><b>Ellátás:</b></td> <td>".$ellatas."</td>
</tr>
</table>
<br>
Várom mielőbbi visszaigazolását a fenti e-mail címre, vagy a telefonszámra!<br>
<br>
<hr>
<small><b>FONTOS:</b> Ez egy árajánlat kérő levél! Az erre küldött árajánlat (vendég által történő) újbóli visszaigazolásával számít megrendelésnek!</small>";
mb_internal_encoding("UTF-8");
$targy = mb_encode_mimeheader($targy, "UTF-8", "Q");
$tartalom = "<html><title>".$subject."</title><head>".$fejlecek."</head><body>".$uzenet."</body></html>";
$kuldes = wp_mail($cimzett, $targy, $uzenet, $fejlecek);
}
?>
</BODY>
</HTML> -
Sk8erPeter
nagyúr
Jaaa, bocs, félreértettelek, nem is ismertem a pixlr API-ját, azt hittem, hogy végül az időhiány miatt kissé egyszerűbb megoldást tákoltál bele valahogy az oldalba, iframe-mel, vagy fingom sincs.
De az fasza, hogy van API-ja, jó tudni: https://pixlr.com/developer/api/
-
Tele von Zsinór
őstag
Ez a "feature" egyébként ennek mitigálására került be: CVE-2011-4885
Röviden: triviális módon lehetett DoS-elni a szervert úgy, ha olyan inputot adtál neki (mondjuk postban), ahol a tömb kulcsainak ugyanaz a hash-e így arra kényszerítve, hogy ugyanabba a láncolt listába nagymennyiségű adatok tegyen - ez pedig abból jön, ahogy belsőleg a php kezeli a tömböket.
Úgy rémlik, ugyanakkor több nyelv is belefutott ugyanebbe (java és c# rémlik határozottan).
-
Pikaa
aktív tag
A Football Pool-ról van szó,mint bővítmény.
Egyenlő pont esetén,a gólkülönbséget szeretném ha nézné (pl. Szentábrahámnak van 32-59,az ugye -27 és Fiatfalvának van 32-47 és az = -15, így Fiatfalva kellene előrébb legyen) . Ami van kicsi zárójelben az utolsó oszlopban. Szűrőt nem látok sehol sem,hogy lehetne beállítani. Ezt szeretném " kiküszöbölni " . Ja,és még egy számozást,a csapatok elé ( # ).
-
-
biker
nagyúr
Teljesen olyan, mintha az oldal lefutása után még egyszer lefutna a query.
Berakom a lap elejére a naplo_beir('hello world text','másik szöveg'); szöveget, majd kilistázom a tábla tartalmát, egy sor van benne, de ha megnyitom myadminnal, vagy a sor törlése után ráfrissítek, még egyszer ott van a beillesztés, új id-vel, új idővel -
Sk8erPeter
nagyúr
-
laceeeboy
tag
Köszi a gyors választ, találtam jQuery-s megoldást, és működik is, bár a paraméterek változtatásával nem törődik, de legalább már ennyi is van. Plusz a design sem jelenik meg, egyszerű szövegként ott van, hogy 1 2 3 4 ..., de ha rákattintok lapoz, és ez a lényeg egyelőre.
Az, hogy magamnak írjak egyet PHP-ban, szerintem egyelőre felejtős, kicsit pályát tévesztettem én ezzel a webprog-gal
Bár érdekel a téma, de egyre csak azt veszem észre, ahogy mélyül a víz, hogy nincs meg hozzá a programozói gondolkodásmódom. Legalábbis másoknak tök logikus dolgokon van, hogy órákat gondolkozok és semmi.
-
-
trisztan94
őstag
Mivel a Brackets html + js + css-el lett írva, így a program és főleg a pluginek platformfüggetlenek.
FTP plugin, de mindenképp a program pluginkezelőjével kell felrakni.
-
Köszönöm a választ, így frankón működik!
Ahogy újra átnéztem a kódot, már látom, hogy rosszul volt felépítve az egész, illetve - szerintem - még az is hiba volt, hogy először nem azt vizsgáltam, hogy a belép gomb megnyomásra került-e, hanem kapásból a session tartalmát erőltettem, és már ott lehalt a dolog.
-
fordfairlane
veterán
Igaz, richtext editor, most kapcsolok. Mondjuk elgondolkoztam azon, hogy mi van akkor, ha a tartalmat textarea-ba teszed, és a tartalomban van egy lezáró </textarea> tag, de ez most annyira nem érdekes.
de nem is tervezném kiszűrni a html tageket, mert kellenek
Escapelésre gondoltam, nem szűrésre. htmlspecialchars. Egyébként pont ez a függvény kicsit megváltozott a PHP 5.4-ben, talán most is ez okozza a problémát.
Na, meg is van, erre gondolok:
Kérdés: Ha a böngészővel belenézel a html forrásba, amit a szervertől kapsz, látod a tartalmat a textareaban, aminek meg kellene jelennie?
-
PumpkinSeed
addikt
Na szóval, itt a kódrészlet értelmesen.
Viszont akkor átteszem, hogy adatbázisba tárolja le a következő úgyis az lesz, hogy a látogató ip címeit kell letárolni egy adatbázisban.
Viszont itt most a probléma nem ezzel van, hanem, hogy bug van a programban amely a main függvényben helyezkedik el ha lehet így mondani azaz nem a függvényekben. Ezen belül vagy azzal, hogy az $all_viewers-t rosszul bontom fel úgy, hogy mindig csak egy karaktert vizsgáljon, vagy a megfeleltetéssel, nem tudom.
Visszatérve az előzőre, ha nem is így csinálom akkor még adatbázissal tudom tárolni, gondolom nincs más megoldás?!
(#14816) Sk8erPeter
Köszönöm ez tökéletes.
-
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.
-
Sk8erPeter
nagyúr
Úristen, sejtettem, hogy valaki magára fogja venni, anélkül, hogy agyelborulás helyett elolvasta volna, ami le van oda írva. Ott van teljesen egyértelműen még az általad idézett részben is, hogy "és nyilvánvalóan tisztelet a kivételnek". Ergo ha elolvasod, amit írtál, és elolvasod azt is, amit én írtam, akkor felfedezheted, hogy rád nem illik a leírás. Ahogy Trisztánra sem illik, mivel írta, hogy megdolgozott érte. Már ezt a másik topicban is megbeszéltük vele, és nem akadt ki rajta. Én haverjaim között is van pár kivétel, akik megdolgoztak a Macjükért, és értsd már meg, rájuk sem igaz a leírás. De talán nem kell külön kihangsúlyozni, hogy túlzottan sokan vannak, akikre viszont igaz. Capisce? Ezt tényleg külön el kellett magyarázni, hogy ne vedd magadra? Gondolom Te is találkoztál ezzel a videóval jópár helyen, na az ilyenekről beszélek. Többek közt. Nem rólad. Azért ha valamire ennyire ugrasz, olvasd el még egyszer, hogy biztos jól értetted-e.
-
Sk8erPeter
nagyúr
Igazából az indoklásod volt egy kicsit vicces.
A másik meg az, hogy elég meglepő eredményeket ad PHP-ban a foreach versus for ciklus használata: a srác által mutatott teszt tényleg azt az eredményt adja, hogy a foreach minden esetben gyorsabb ennyi lépésben, ami számomra kicsit furcsa, mert más nyelvekben nem igazán ez tapasztalható. (De nem azért, mert van benne egy darab összeadás művelet, meg egy darab összehasonlítás.)
Szóval az ennyire feltűnő különbség a foreach javára a for ciklussal szemben a PHP-ban számomra újdonság.
-
Sk8erPeter
nagyúr
Te jó ég. Remélem, ezt a hozzászólásodat, miszerint "a foreach csak azt nézi, van-e még elem a tömbben, a for esetén pedig összehasonlít és összead is", ergo BIZTOS lassabb a for ciklus, mint a foreach, csak valami nagyon rossz viccnek szántad...
Ez azért nagyon durva volt.
-
Sk8erPeter
nagyúr
Most mi van? Excel-mezőbe akarsz berakni lényegében - kvázi - egy screenshotot? Nekem eléggé zavaros lett a végére, mert idekeverted az Excelt, a Mac-es Pages-t, szervert, kliensoldalt, és a hsz. végére már fingom sem lett, mi is a pontos cél (amit az elején még értettem, a végére már nem).
-
fordfairlane
veterán
Én még a PARAM_STR konstansot sem használom. Simán PDOStatement::execute metódussal bindolok legtöbbször.
-
#68216320
törölt tag
A PHP automatikus konverziót végez. Ha numerikusként értelmezel egy string-et, mert mondjuk matematikai műveletben vesz részt, akkor:
"-" = 0
"" = 0
"hello" = 0
"10 doboz sör" = 10Erre azért van szükség, mert pl. FORM-ból a HTML-től csak string érkezhet, mivel ilyen beviteli mező van csak.
-
Peter Kiss
őstag
Igen, PHP estében teljesen normális.
Ami szerintem nem normális, hogy azonos tulajdonságot két különböző típussal akarsz leírni, illetve ezeket a típusokat össze is hasonlítod. Sokkal ésszerűbb, ha az üzleti logikádba nem kevered bele ezt a '-' dolgot, ezt elég csak a UI oldalon mutatni (ott a 0 [talán] hülyén néz ki).
-
Jinxb1rd
addikt
Amit eddig sikerült kiderítenem:
Így nem hozza be a feltöltést:
tiny_mce/plugins/tinybrowser/upload.php?type=image&folder=
tiny_mce/plugins/tinybrowser/upload.php?folder=Így igen:
tiny_mce/plugins/tinybrowser/upload.php?type=image
tiny_mce/plugins/tinybrowser/upload.phpCsak azt nem értem, hogy a többi menüpontnál így van:
tiny_mce/plugins/tinybrowser/XXX.php?type=image&folder=Azok mégis működnek.
-
Sk8erPeter
nagyúr
dehogyis
Ennél jóval egyszerűbb, egyszerűen elosztod a darabszámot a csomagegységgel, aztán ceil()-lel felkerekíted, majd beszorzod a csomagegységgel ezt a számot, az lesz a korrigált darabszám.Például én 34-et tettem be a kosárba, a csomagegység nálatok meg 12, tehát akkor a legközelebbi felfelé kerekített, csomagegységnek megfelelő darabszám a 36 lenne. Ez így ki is jön:
$package_unit = 12;
$pieces_in_cart = 34;
$pieces_corrected = $package_unit * ceil($pieces_in_cart/$package_unit);A $pieces_corrected értéke tehát 36 lesz.
-
Sk8erPeter
nagyúr
1. "fields enclosed by '\"' sorra" - most honnan jött az aposztróf? Eddig csv volt vesszővel.
2. A tábla karakterkódolása milyen?
3. No clue, nem ismerem a LOAD DATA INFILE-t.
Nagyon muszáj ezt az utóbbit használni egyébként az importáláshoz? Itt azt írja valaki, hogy jóval gyorsabb volt a hagyományos importálós módszer. -
-
biker
nagyúr
idegességemben felraktam egy saját xampp alá, tökéletesen berántja az 57megás filet, majd EGY sort beimportál, és hiba nélkül leáll. ha elrontok valamit, akkor dobálja a hibákat
két hiba:
- a mező tagoló " jeleket nem tudom megadni, mert valamiért exceptiont dob a fields enclosed by '\"' sorra
- utf8 a generált csv, utf8 a feldolgozó, meg van adva a set names utf 8, mégis krixkraxol, és minden text " jelek közt van
- és miért csak egy sort ránt be? na de legalább tudom, a másik serveren ez a file méret blockolva van, és van valamiféle limit a load data infile esetén is, mert lefut nálam -
PazsitZ
addikt
Bár sok mindent írtál, már nem tudom mire írtad, mire nem, a sehol sincs hiba válaszokat.
sql error-t, csekkoltad?
Nincsenek extrém méretű field-ek? Mert ekkor ha jól tudom számíthat a max_allowed_packet Bár ezt a hibát dobnia kell az sql-nek.A megfelelő formátumú a fájl az importhoz?
FIELDS: TERMINATED, ENCLOSED, ESCAPED
LINES: STARTING BY, TERMINATED
argumentumok biztos helyesek?
pl.: \r\n vagy csak \n sorvég szerepel a fájlban? -
Sk8erPeter
nagyúr
"de miért is nem dobott hibát akkor a lekérdezés?"
Igazából teljesen mindegy, hibát nem okoz. Ahogy tök mindegy az is, hogy úgy adod meg, hogy
WHERE bolt_id = 123
vagy úgy, hogy
WHERE bolt_id = '123'Ilyenkor, amikor már semmi más nem sikerül, akkor először megpróbálok előtte is-utána is valami teszttáblába feltölteni valami bogus adatot csak próbából, hogy egyáltalán az adatbázissal való kommunikáció normálisan működik-e.
Aztán megpróbálnám tök más, statikus fájllal a MySQL-táblába importálást azzal a query-vel, amit írtál, hasonló körülmények közt, de nem kell, hogy curllel letöltött cucc legyen.
Tehát akkor most már csak koncentrálj erre az egy feladatra, hogy a LOAD DATA INFILE ..... rész működjön.
Na majd kipróbálom kíváncsiságból, én még ezt ilyen formában úgysem próbáltam.Még próba előtt (most úgysincs időm rá): a MySQL-szerver ugyanazon a szerveren van, ahova a fájlt eltárolod?
Tehát például localhost mindkettő?
Lehet, hogy meg kéne próbálnod a LOCAL kulcsszót:
https://discussion.dreamhost.com/thread-126921-post-136078.html#pid136078 -
Sk8erPeter
nagyúr
nem tudom, még az is elképzelhető, hogy valamiért a PDO-nál mégsem működik megfelelően prepared statementben ez a kiemelt rész:
LOAD DATA INFILE :file .......
tehát hogy nem helyettesítődik be a fájlnév, sosem próbáltam. Mindenesetre a helyedben átmenetileg egy fix fájlnevet adnék meg, olyat, ami nyugodtan felülírható egy tmp könyvtárban, és így fixálnám ezt a fájlnevet, ebbe pakolnám ki első körben a file_put_contents()-szel a tartalmat.
Az ebbe a fájlba kirakott tartalom jó egyáltalán a curl után?Még rájöttem, hogy valszeg a :bolt_id INT, tehát azt át kéne alakítani így:
$stmt->bindValue(':bolt_id', $bolt_id, PDO::PARAM_INT);
(korábban rohanva véletlenül csak stringszerűen írtam, PDO::PARAM_STR-rel)
Ettől függetlenül fingom nincs, hogy mi a probléma, túl kevés dolgot tudunk a többiről, de kicsit türelmesebben kéne debuggolnod, úgy, hogy minden egyes változót kiíratsz, logolsz fájlba, rendesen debuggolod Xdebuggal vagy ilyesmi, és így tovább. Másképp soha nem fog kiderülni, és szenvedhetsz még vele napokig. -
Sk8erPeter
nagyúr
Én meg azért nem értelek, mert PDO-t használsz, de pont ugyanúgy belefűzöd a query-be a változót, mintha nem is PDO-t használnál, ezzel pont a lényegét veszti el a PDO-használat.
$stmt = $db->query("LOAD DATA INFILE '$file' INTO TABLE ar_termekek FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' IGNORE 1 LINES SET id=null,bolt_id='$bolt_id',frissitve=NOW();");
HELYETT
$stmt = $db->prepare("LOAD DATA INFILE :file INTO TABLE ar_termekek FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' IGNORE 1 LINES SET id=null,bolt_id= :bolt_id, frissitve=NOW();");
$stmt->bindValue(':file', $file, PDO::PARAM_STR);
$stmt->bindValue(':bolt_id', $bolt_id, PDO::PARAM_STR);
$stmt->execute(); -
Sk8erPeter
nagyúr
Új hozzászólás Aktív témák
Hirdetés
- Fuji X-S20 2.5 év gari + 18-120 f4 + 33 f1.4 + 25 f1.8
- Inspiron 5406 2-in-1 14" FHD IPS érintő i5-1135G7 16GB 512GB NVMe magyar vbill ujjolv aktív toll gar
- Eladó ASUS TUF F15 Gaming laptop i7-11800H RTX 3050 Ti 32GB 1.5TB SSD
- (50db) 250GB SATA Bazár (Samsung, Kingston, Crucial, Sandisk stb.)
- Lenovo LOQ 15APH8 15.6" FHD IPS Ryzen 7 7840HS RTX 4060 16GB 512GB NVMe magyar vbill gar
- Huawei Nova Y70 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! MSI Z690 i7 12700K 32GB DDR4 1TB SSD RX 6800 16GB Phanteks P600S Cooler Master 750W
- Bomba ár! Lenovo ThinkPad T490s - i5-8GEN I 16GB I 512SSD I 14" FHD I Cam I W11 I Gari!
- Samsung Galaxy S21 Ultra , 12GB , 128 GB , Kártyafüggetlen
- Csere-Beszámítás! Xbox One X 1TB Játékkonzol Olvass! Model 1787
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest