Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP: Wert nur in bestimmter Zeile erhöhen

Frage Entwicklung PHP

Mitglied: Sven32

Sven32 (Level 1) - Jetzt verbinden

07.12.2014 um 13:36 Uhr, 1141 Aufrufe, 7 Kommentare

Hallo Zusammen,

ich habe mir ein kleines Script gebastelt, dass mir in einer Textdatei die als Datenbank fungiert
einen Wert hochzählt. Das heißt jedesmal wenn diese PHP-Datei aufgerufen wird, wird in der Datenbank
fürs aktuelle Jahr, eine Zahl um einen Zähler erhöht. Ansich funktioniert soweit erst einmal alles so
wie gewünscht, allerdings schaffe ich es nicht das Script dazu zu bringen nur Zeile 16 zu ändern
bzw. hochzuzählen, alles andere in der Textdatei soll unverändert bleiben.
Wie ich einen Wert aus Zeile 16 auslesen kann weiß ich bereits aber ich bekomme mein Script einfach
nicht so angepasst das, dass von mir gewünschte Ergebniss eintritt.
Ich hoffe das mir jemand von euch weiterhelfen kann.

Hier mein bisheriges Script


<?php
$datei= "Datenbanken/Datenbank ". date('Y').".txt";
$stellen = 5;
if(file_exists($datei)){
$fp=fopen($datei,"r+");
$zahl=fgets($fp,$stellen);
$zahl++;
rewind($fp);
flock($fp,2);
fputs($fp,$zahl,$stellen);
flock($fp,3);
fclose($fp);
}else{
// do nothing
}
?>


Herzlichen Dank für eure Hilfe.
Sven
Mitglied: certifiedit.net
07.12.2014 um 14:01 Uhr
Hallo Sven,

warum nicht ein "strukturierteres" Format wie XML ovgl.?

Beste Grüße,

Christian
certified IT
Bitte warten ..
Mitglied: Sven32
07.12.2014 um 14:45 Uhr
Hallo Christian

An sich ist das bestimmt ein guter Lösungsansatz nur ist es in meinem Fall so,
dass ich nur ein bestehendes System bearbeite bzw. pflege und da möchte ich die
Strukturen so weit es geht beibehalten.
Zumal ich nicht der Einzige bin der auf diese Textbasierten Datenbanken zugriff
hat, also einfach umstellen auf etwas anderes ist hier leider nicht so einfach.

Mann müsste halt mal komplett alles überarbeiten aber du weißt ja wie das bei
manchen Firmen ist, da werden bestimmte Dinge immer wieder hinausgeschoben
und hinausgeschoben bis irgendwann mal was passiert oder eben nichts mehr geht
und dann werden plötzlich alle ganz schnell
Bitte warten ..
Mitglied: certifiedit.net
07.12.2014 um 15:00 Uhr
Deswegen machst du dich selbst zum kleinsten Teil, dass nur in seinem Mausrädchen rennt? ;)
Bitte warten ..
Mitglied: colinardo
LÖSUNG 07.12.2014, aktualisiert um 17:09 Uhr
Hallo Sven,
da gibt es mehrere Möglichkeiten, das wäre z.B. eine Methode:
01.
<?php 
02.
$datei= "Datenbanken/Datenbank ". date('Y').".txt"
03.
if (file_exists($datei)){ 
04.
        // Datei in ein Zeilenarray zerlegen 
05.
  	$lines = file($datei); 
06.
        // Wert der Zeile 16 um eins erhöhen 
07.
  	$lines[15] = (doubleval($lines[15]) + 1) . "\r\n"
08.
        // gendertes Array wieder in die Datei zurückschreiben 
09.
  	file_put_contents($datei,join("",$lines)); 
10.
11.
?>
Grüße Uwe
Bitte warten ..
Mitglied: Sven32
07.12.2014, aktualisiert um 16:23 Uhr
Hallo Uwe,

vielen Dank für die schnelle Hilfe
Das ist genau wonach ich gesucht habe, allerdings bekomme ich jetzt nach
der erhöhten Zahl so ein Symbol [] und direkt dahinter die nächsete Zahl.

Hier ein Beispiel

Voher

15
16
17

Nachher

15
17[]17
18

Liegt das womöglich an meiner Textdatei ( Formatierung ) oder ist das aufgrund
des Scriptes so ?
Bitte warten ..
Mitglied: colinardo
LÖSUNG 07.12.2014, aktualisiert um 17:10 Uhr
Liegt das womöglich an meiner Textdatei ( Formatierung ) oder ist das aufgrund
des Scriptes so ?
Hmm hier läuft es einwandfrei, da muss bei dir irgendwas nicht stimmen.
Womit schaust du das File an ? Mit Notepad unter Windows ? Dann brauchst du stattdessen einen DOS Zeilenumbruch "\r\n" hinter dem hochgezählten Wert, Zeile 7.

Datei-Kodierung ?(ASCII/UTF8/etc.)
Bitte warten ..
Mitglied: Sven32
07.12.2014 um 16:58 Uhr
Sorry, du hast natürlich recht.
Ich habs vorhin in XAMPP kurz getestet und das läuft hier unter Windows
und da lag das öffnen mit Notepad nahe.

Danke nochmals für deine Hilfe
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...