/* Funktsioon sisendfaili olemasolu kontrolliks ja kirjete arvu määramiseks failis **/ int sisendfaili_kontroll(void) { char rida[122]; // Maksimaalne tähemärkide arv ühel failireal on 120 märki int n=0,p; // n - ridade arvu loendur, p - ühe failirea tähemärkide arv fp1=fopen(f1,"r"); // Faili avamine lugemiseks if (fp1==NULL) // Kontrollime, kas fail on olemas { printf("Sisendfaili %s avamine ebaõnnestus!n",f1); exit(1); // Programmi töö lõpetamine } else { while (!feof(fp1)) { fgets(rida,122,fp1); // Failist andmete lugemine ridade kaupa p=strlen(rida); if (p>1) n++; // Kontrollime, et failirida ei koosneks üksnes reavahetusest } } fclose(fp1); return n; // Tagasta ridade arv sisendfailis } /** Funktsioon väljundfailide tekitamiseks ning tühjendamiseks **/ void tekita_failid(void) { fp2=fopen(f2,"w"); fclose(fp2); fp3=fopen(f3,"w"); fclose(fp3); return; } /** Funktsioon isikuandmete väljastamiseks failidesse **/ void andmed_failidesse(void) {
Sinu ülesandeks on luua 4 dokumendiga veebileht Lehe sisu muutub dünaamiliselt, vastavalt lingi sisule Kui lehte ei eksiteeri, siis peab kasutajat ka sellest teavitama Loo lihtne turvalisuse kontroll 14 - PHP - Töö tekstifailidega (Ülesanne 11) Teemad fopen fclose fgets fwrite fread file_put_contents file_get_contents unlink rename filesize nl2br feof Sissejuhatus Kui me siiani oleme töötades andmed kenasti muutujasse kirjutanud ning nendega erinevalt manipuleerinud, siis pärast veebilehitseja kinnipanekut, andmed kaovad. Andmete salvestamiseks võiks need näiteks kirjutada mõnda tekstifaili. Selles peatükis vaatamegi, kuidas saada ligi tekstifailidele. Kui ühendus on saavutatud, siis lisame sinna soovitud teksti ja hiljem kuvame seda. Peale seda uurime, millist
sf = fopen(sNimi, "r"); if (!sf) //kui sisendfaili avamine ebaõnnestus { printf("Sisendfaili ei õnnestunud avada.n"); printf("Palun kontrollige, kas see fail üldse eksisteerib!"); return 0; } vf = fopen(vNimi, "w"); if (!vf) /* kui väljundfaili loomine ebaõnnestus */ { printf("Väljundfaili ei õnnestunud luua.n"); printf("Palun kontrollige, ega ketas pole write-protected!"); return 0; } while (!feof(sf)) /* kordame, kuni pole jõudnud faili lõppu */ { fscanf(sf, "%c", &c); if (!feof(sf)) /* väldime ülearuse viimase rea tekkimist */ /* ilma selle kontrollita lisatakse väljundfaili */ /* lõppu üks tühi rida, mida sisendfailis ei ole. */ fprintf(vf, "%c", toupper(c)); } fclose(sf); /* sulgeme failid */ fclose(vf); return 0; } /* P r o g r a m m i l õ p p */
for (i=0; i