meg tudod oldani ha van jogod az adott szerveren ilyesmit csinalni:) Linux alatt peldaul a cron program segitsegevel tudsz idozitett dolgokat csinalni, programokat futtatni. Ha nincs ilyen hozzaferesed a szerverhez akkor sajnos marad az amit most is csinalsz:) Max otthon te ralallitasz 1 letoltes vezerlot hogy minden nap 8 orakkor kerje le az adott oldalt ezzel lefuttatva a programot :)
csak a szerveren talalhato file-t tudod load infile-al betolteni, tehat azon a szervreren kell legyen a file ahol a mysql is van (vagy legalabbis olyan filerendszer beli eleressel amit a mysql lat, lehet ugye az 1 mountolt cd rom is:) )
Tehat nem localhost meg ilyenek amugy sem, hanem filerendszer beli teljesel file elerest peldaul C:\konyvtart\ahol\a\file\van.file windows alatt, linux alatt pedig /a/konyvtar/ahol/a/file/van.file
nos, manual megnéz, és kitalál, kipróbál egy winyón lévő filen és műx :-) nade...
ha neten lévő filet szeretnék elérni (mert ott van amugy) az már nemmegy... :
LOAD DATA INFILE "http://localhost/tabla/test.txt" INTO TABLE test FIELDS TERMINATED BY ':' LINES TERMINATED BY '\n'
File 'http:\\localhost\tabla\test.txt' not found (Errcode: 22)
megprószáltam a LOCAL-al is, de semmi eredmény, csak nem hajlandó megtalálni......
mi a hiba? miért nem találja? miért csak winyón lévő filet lehet felhasználni? elvileg ugye a LOCAL pont erre volna...... nade nemműx....
az, hogy meglesz, azt megigérhetem, az olvasás is még ok, de hogy nem lustálkodni? hááát...
a lustaság viszi előre az emberiséget. :)
meg, ahogy olvasgattam a fórumot, s pont bitsütikről, meg fájlfeldolgozásról volt szó, már azért vettem a bátorságot, hogy akkor konkretizálom a lustaságom, s inkább kérdezek.
én a phpcoder.proban irkálgatok, s abban a beleintegrált helpfájlokban nem egyszerű keresni, ha nem tudom hogyan nevezik amit keresek... talán innen a lustaság. lehet hogy le kellene egy másik helpet szednem ? :)
lehet még egy másik kérdésem?
egy hírlevelet kell készítenem, minden nap.
a mindennaposságával van gondom,
én úgy csináltam, hogy a kezdőlap alján meghívok egy includot, amely megnézi egy táblában, hogy futott-e már aznap a szkript, s ha nem lefut, ha igen továbbmegy.
s ez működik is.
de, ha valaki nem nézi meg egy (2,3,4) nap a lapot, akkor nincs "akció" ami kiváltaná a szkript lefutását.
ki lehet ezt valahogy küszöbölni?
gondoltam már arra is, hogy egy lapot irok, ami újra meghívja önmagát, s ezt a serverne kellenen futtani, vagy ha a wgettel meg lehet hívni egy php-s oldalt pl. akkor elvileg lehet a serveren elinditani minden napra időzitve egy wget parancsot?
sajna nem vagyok képben ezügyben sem.
mondjuk a kedves emberkének megmagyaráztam, hogy nincs értelme kiadni hirlevelet, ha nem módosult, már pedig ha nem nyult hozzá sneki, akkor nem módosult.
igen :), csak nem elég hogy tudatlan vagyok meg windowsuser, még ehhez lusta is... :)
de a szükség nagy úr. a fájl már majdnem felment ftpileg, ha nem baj majd beszámolok az eredményről.
egy cégkeresést akarok megvalósítani, s ugye egy óvodás is meg tud csinálni, egy formot egy lekérdezést, de feltöltenis bedolgozni ekkora fájlt... nekem eddig nem ment.
remélem most
köszönöm,
még egy nagyon lamer kérdés:
ezeket a seteket a php fordítóba kell beállítani a php.ini ben, avagy futás közben a php programban is működőképesek?
feltoltod file-t ftp-vel, php-val feldolgozod akar cvs-t cvs fugvenyek (vagy sajat megoldas) akar a dbf-et a dbf fugvenyekkel,. Php-ba set_time_limit(0); hogy ne fusson ki a 30 masodpercbol, valamint vigyazz a memoriara azaz a nem kello valtozokat unset-eld es csak a szukseges dolgokat tartsd valtozoba, ugyis csak read->insert into kell neked.
lenne egy két problémám, amely talán lehet hogy elví síkon van, de mindenesetre nem tudom hogyan valósítsam meg jól.
ha tudnátok segíteni megköszönném.
Egy cégtörzset szeretnék létrehozni Mysqlben, az adatok jelenleg dbf, és csv formátumban megvannak
a phpmyadminnal be lehet elvileg dolgoztatni ilyen állományt, de ez 120 Mega.
mit lehet az ilyennel kezdeni? a kapcsolatom miatt nem megy le a feldolgozás, vagy ez azért már sok amit kívánok tőle?
Ti mit tennétek?
nincs igazán sok jó ötletem, csak elvetemültek:
1.a csv ";" határolóját "," re állítom, majd a fájlban minden sortörés helyett beillesztek egy ");\n insert into ..... values(" sztringet, s mint sql szkriptet fogom lefuttatni
2 a csvket szétszedem kis állományokra, s azt dolgoztatom fel vele,
vagy az egész megoldódna egy szélessávú internetkapcsolattal?
előre is köszönöm ha hozzászóltok.
hja és utólag is köszönném a wgetes php szinkronizáció meghívást, sose hittem volna, hogy egy unixutil csomag (win32re) fogja megoldani a problémám, :) köszönet érte, azért tanulok lassan.
Alex_
hja ha lehet még egy.:
erősítsetek meg, mert nem vagyok biztos benne, ha smsben szeretnék egy üzenetet küldeni, akkor ha jól tudom pl a pannonosnál "teleofnszám@pgsm.hu" emil cimre kell küldeni s majd a szolgáltató továbbitja azt?
s még egy:
én ugy tudom nem lehet, de mi van ha mégis, a cookie-t, amely nem időkorláttal jött létre, meg lehet valahogy szüntetni úgy hogy a böngészőt ne kelljen bezárni?
mert ha nem akkor át kell íarni session nel, s lusta vagyok :((
load infile "filenev" into table $TablaNev fields terminated by ':' lines terminated by '\n';
Csak arra kell ügyelni, hogy az adatallomanyban a mezök sorrendje megegyezzen a tablaban levö mezök sorrendjevel. Bar ha jol emlexem MySQL4 alatt mar meg lehet varialni a mezök sorrendjet it. (Nekem meg egy eleg regi 3.23 van)
igge, van....mysql :-)
a másik meg hogy ez egy adott dolog, és nem a hasamraütve találtam ki ezt az adattárolási formát.... :-) ha én csináltam volna, énsem igy csináltam volna....de nem én csináltam :-)
Akkor eloszor a kulcs kerdesre valaszolj. Van-e valamilyen sql szerver ahova az adatokat betolthetned? Amugy itt latthattad a dmb-et az iment volt rola szo, az is jobb megoldas mint mondjuk csak siman 1 file-ba :-el elvalasztva :)
"Ha van egy installald mysql-ed, akkor a load infile paranccsal egyszerüen beolvasod, field limiternek ':'-t adsz meg, es a szokasos SQL-utasitasokkal utana azt csinalsz az adatokkal, amit jonak latsz."
na, akkor hogy is van ez kéremszépen? :-))
"Eddigi tapasztalataim szerint ez ugy kb. 400-500 kB-nal nagyobb fajlok eseten gyorsabb megoldas, mint PHP-ben a Bandi-T altal javasolt megoldas."
hát...ez egy kb 800k-1M-ás file...tehát ez lesz a jó megoldás....de hogy is? :-)
Ok ok köszi a sok segítséget,nekem csak lehelletnyi kulcs-érték adattárolásra kell,hogy ne kelljen szuttyognom végigolvasás,csere,izé bizékkel a xxi században,de úgy látszik bele kell szántanom jobban magam,pedig könnyíteni szerettem volna szal megnézem,igaz igaz van egy filenev.lock vagy valami fájl még mellette..köszi még1x!!!
jaja, igy vala :)
Kiegeszitenem meg azzal hogy dbm-et irasra nyitas elott flock-al iras vedette tenni, majd ha megtortent az iras feloldani. Mert tobb egyideju keres nem mehet a dbm-hez. De ezt irjak is ( mondom ezeket a kerdezonek :) )
Can't be writer - az hiszem dbm fájlt egyszerre legfeljebb csak egy program nyithat meg írásra.
Nem lehet, hogy egyszerre több program is megpróbálta megnyitni írásra, és a második (többedik) kapja ezt az üzenetet?
Nem lehet, hogy egy korábbi írásra megnyitás után a megnyitó processz úgy lépett ki, hogy nem zárta le a fájlt, és bejelölve maradt, hogy az már nyitva van írásra?
Nem lehet, hogy a PHP scriptnek unix szinten nincs írási joga a fájlhoz?
Ja, és:
"Note: When safe mode is enabled, PHP checks whether the files or directories you are about to operate on have the same UID (owner) as the script that is being executed."
Este beírom a kódot,nagyon valószínű,hogy írásra való megnyitáskor generálja ezt,most nem vagyok otthon,csak magamnál:),köszi hogy ilyen gyorsan reagáltál rá maradj vonalban Lokator lécci
Kösz
Valaki tudna valaki segíteni,miért írja ki nekem ezt a hibaüzenetet a PHP gbm ,a file t sikerült létrhozni,a könyvtár jogai 777,és nem tudok írni bele...
Warning: dbmopen_gdbm(crawlers.dbm): 10 [Can't be writer]