Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Whisky for Mac

Xiaomi 14 Gpay

Izolare zid exterior de scandura

Dezinstalare drivere W11 23H3
 Recomandare masina de spalat fiab...

BSOD din cauza Intel Audio DSP dr...

De ce sunt oamenii nostalgici

Cum vand casa fara factura Hidroe...
 Scor FICO minim

Tonometru compensat CAS?

polita RCA ONLINE

Va rog recomandati echipa serioa...
 Termostat frigider - verificare

Mai au PC-urile vreun viitor?

Centrala termica immergas

Amenda in Lipsa ?
 

Cum citesc si afisez o valoare dintr-un fisier txt in javascript

- - - - -
  • Please log in to reply
16 replies to this topic

#1
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Am nevoie, in javascript, sa deschid un fisier txt si sa citesc din el, singura linie, in care este de fapt o valoare numerica (un contor).

Am tot cautat pe net, am vazut ca cel mai elegant ar fi FileReader, dar nu prea inteleg unele lucruri si mi se pare si prea mult si prea complicat. Nu ma satisface. Cred ca exista si metode mai rudimentare si simple.

Eu m-am gandit la ceva de genul asta, dar, care, nu functioneaza (nu face si nu afiseaza nimic):
<script>
 var txtFile = "cale/numefisier.extensie"
 var file = new File(txtFile);
 
 file.open("r");
 
 var str = "";

 while (!file.eof) {
  str += file.readln() + "\n";
 }

 file.close();
 alert(str);
</script>



Ma poate ajuta cineva, va rog?
Multumesc

#2
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
Dintr-o pagina HTML nu poti deschide ce fisier vrei tu Iti dai seama de implicatiile de securitate Utilizatorul trebuie sa selecteze un fisier utilizand un input type = file

Vezi

https://developer.mo...eb_applications

#3
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Bine bine, inteleg si m-am gandit la asta, si totusi... nu se poate atunci ca acel input sa il fac invizibil sau sa aibe o valoare default (ca si cum i-as eu o valoare)?

M-am mai gandit si incercat si asta:
<html>
<head>
 <script type="text/javascript">
  file = fopen(getScriptPath("numefisier.txt"), 0);
  file_length = flength(file);
  content = fread(file, file_length);
  document.getElementById("myDiv").innerText = content;
</script>
</head>
<body>
 <div id="myDiv"></div>
</body>
</html>



#4
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
Invizibil da, default nu De ce nu folosesti LocalStorage sau cookies ?

#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,232
  • Înscris: 24.02.2007
Daca s-ar putea, ai intra pe orice site si acel site ar citi la liber orice de pe hdd-ul tau.

#6
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Fisierul text face parte din structura site-ului si se afla pe server (nu am nevoie sa citesc tot felul de fisiere pe care sa le incarce din local fiecare).

In acel fisier text am o valoare numerica (pe o singura linie). E ca un fel de contor. Exista patru astfel de fisiere diferite.
Am un combo, cu 4 valori (cate una corespunzatoare cate unui fisier text). Cand schimb valoarea din combo, doresc sa afisez valoarea contorului afferent. De aceea am nevoie sa citesc din fisier si intrebam cum (dar la un mod mai simplist, rudimentar asa).

Am mai incercat asa:
function change {
...
...

if(document.getElementById('carte').value == 'SF') {
 $("#codpom").load("numefisier.txt", function(){
   var codpom = parseInt($(this).text()) + 1;
   $(this).text("SF" + codpom);
  });
}
...
...


E ceva mai bine, numai ca mi se afiseza cate o valoarea care ramane mereu constanta, pentru fiecare categorie in parte.
Practic cand fac cate o comanda, acel contor trebuie modificat, incrementat cu unu. Daca fac 10 comenzi sau 100 de comenzi, valoarea afisata ramane tot aia.
Ce e gresit?
S

#7
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,232
  • Înscris: 24.02.2007
Deci vrei sa descarci un fisier text de pe server? Zi asa de la inceput

Asta rezolvi cu un apel Ajax tipic.

#8
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Nu, fisierul exista pe server. Nu vreau sa descarc (si sa incarc) nimic.
Vreau doar sa il deschid, sa citesc si sa afisez valoarea din el, apoi sa il inchid. Atat.

#9
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,232
  • Înscris: 24.02.2007
"Deschizi" ceva care se afla local, pe aceeasi masina.
"Descarci" ceva ce se afla in alta parte.

Javascriptul tau ruleaza pe masina clientului (ca l-ai pus intre <script>, deci nu e node.js pe server), fisierul e pe server. Server != client, deci descarci.

Familiarizeaza-te cu bazele aplicatiilor web. Pana nu intelegi care-i rolul serverului si care-i cel al clientului o sa mergi tot din improvizatii in improvizatii.

#10
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
Faci un apel AJAX catre un script de pe server care va deschide fisierul, va citi valoarea si o va trimite ca raspuns catre javascript, dupa care o va incrementa si o va scrie in fisier

#11
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
@sceptic: poti detalia un pic? Eventual putem vb pe PM.
Multumesc

#12
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
De ce pe PM
Lasa sa ramana sa afle si altii
Ce limbaj folosesti pe partea de server ?

#13
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
in php ar fi ceva de genul

script.php

$value = file_get_contents('file.txt');
$value++;
file_put_contents('file.txt', $value);
echo $value;

daca vrei sa fii mai sofisticat , poti folosi json, xml, whatever

#14
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Eu sunt un (biet) voluntar amator (pasionat) cu o bruma de cunostinte de baza... si am si eu limitarile mele...
Solutii se gasesc pe net, o gromada, dar multe din ele ma depasesc sau mi se par prea elevate; nu le inteleg, deci, in consecinta, nu le pot modifica, la nevoie, si adapta conform cerintelor sau nevoilor mele... Posted Image Posted Image
De aceea incerc solutii (cat mai) simple...

Toate fisierele site-ului sunt cu extensie php. Am scripturi in php (server side) si javascripturi (client side). Si in MySQL niste baze de date, in care stochez niste info (am si un forum).

Evident, n-am putut sa stau deoparte si, am m ai tot incercat si incercat... De afisat (extras din fisier) valoarea, asta-mi functioneaza cel mai bine:

$(#codpom).load("http://www. ......ro/cale-si-nume-fisier.txt);


De fapt, CE vreau sa fac pana la urma? De ce am nevoie? Am un formular de comanda (si 4 valori in primul combo). Fiecarei valori din acest combo, ii corespunde un fisier txt, in care, am o unica valoare.
Cand vreau sa fac o comanda noua, vreau de fapt sa se citeasca acel contor si sa se incrementeze acea valoare cu unu. Ca practice va fi comanda cu numarul urmator.

Am nevoie de javascript, ca pot sa ma rasgandesc si sa schimb valoarea din combo din formular. O data ce am finalizat si trimit comanda, incrementarea o fac cu phpo (si aia functijoneaza bine).
Problema deci, in final, este la CUM pot afisa (si incrementa) valoarea din contor, in javascript.

Edited by colombo2003, 20 July 2016 - 22:35.


#15
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,232
  • Înscris: 24.02.2007
Voluntar pentru ce/cine mai exact?

Daca nu esti dispus sa inveti lucrurile metodic (lucru ce-l cam dovedesti tinzand pe toate topicurile deschise doar catre carpeli rapide), ce te motiveaza sa te chinui in directia asta? Mai ales daca nu iese vreun ban. Exista n alte domenii (in IT) in care poti fi pasionat si care sa nu implice scrierea de cod.

Edited by dani.user, 20 July 2016 - 22:36.


#16
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Pentru cineva (o foarte buna cunostinta) care m-a rugat sa il ajut. Evident, gratuit...
Sunt dispus, dar deh, de la o anumita varsta... si la timpul, disponibilitatea (mai si copii etc) si viteza pe care o am eu de a invata fata de viteza cu care se tot schimba aceste tehnologii si lucruri...
Incerc si eu sa iasa lucrurile cat mai bine posibil.
Apelez de multe ori la acest site, pentru ca mereu am gasit si intelere, dar si lucururi care chiar mi-au fost de folos si de unde am avut ce invata,

#17
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Pana la urma... am reusiiiit!!!  Posted Image

Foarte simplu, folosind jQuery si functia get().
Multumesc tuturor pentru raspunsuri.



PS. Rezolvat, se poate inchide!

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate