Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Pareri despre eceasuri.ro: cumpar...

Mama Miresii (2024)

Estimare reparatie

Sterilizare UV apa
 Folii heliomate faruri - merita?

Cabina Dus mai mare cu 10cm decat...

Rezultate firma

Facultatea de Medicina - a doua f...
 Fortat sa imi dau demisia

Nivelare placa + Fisuri

Premierul Slovaciei a fost impuscat

RIP imgflip meme generator
 V-ati facut sau va veti face Colo...

Imagini generate de Inteligenta A...

Typo3 - tabel cu HTML

Amorsa inainte de adeziv
 

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,259
  • Î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,259
  • Î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,259
  • Î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,259
  • Î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

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 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