Problem mit Zeilenumbruch in String

MC-René

Erfahrenes Mitglied
Hallo!

Ich habe ein script, welches sich Preise aus einer Text-Datei holt:

PHP:
$fp=fopen('/home/xy-provider/preise.txt', 'r');
while (!feof($fp))
{
$k1b=fgets($fp);
$k2b=fgets($fp);
$k3b=fgets($fp);
$k3b1=fgets($fp);
$k3b2=fgets($fp);
$k4=fgets($fp);
}
fclose ($fp);

Die Text-Datei sieht so aus:

Code:
6,15
5,25
5,95
4,55
3,15
1,05

Mein 1. Problem ist, dass in jedem String ein Zeilenumbruch dranhängt (ist ja auch logisch), wie krieg ich den einfach weg?
Die Daten in der "preise.txt" in 1er Zeile schreiben also ohne Zeilenumbruch?


2. Problem

Ich habe 4 Variablen:
1. Preis ($preis1)
2. Preis ($preis2)
3. Preisnachlass in % ($rabattteiler)
4. Laufzeit ($laufzeit)

Nun möchte ich mit folgendem Code den Gesamtpreis berechnen:

PHP:
$gesamtpreis1=$preis1+$preis2;
$nachlass1=(100-$rabattteiler)/100;
$gesamtpreis=$gesamtpreis1*$nachlass1*$laufzeit1;

Nur ich bekomm nie das korrekte Ergebniss berechnet...?!

Vielen Dank schonmal!
 
Zuletzt bearbeitet:
zu Problem 2:
Ich glaube es hat was mit den Nachkommastellen zu tun...

Folgende Werte sind in den Variablen gespeichert, wenn Eingangs $preis1=4,55 , $preis2=1,05 , $laufzeit=12 , $rabattteiler=15 :

Code:
P:4,55 P:1,05NL:0.85GP1:5%:15GP:51
$gesamtpreis1: 5
$nachlass1: 0.85
$gesamtpreis: 51
 
Ich hab Problem 2 selbst gelöst: Muss natürlch die Preise in der preise.txt so formatieren:

Code:
6.15
5.25
5.95
4.55
3.15
1.05

(Haupt-) Problem 1 besteht allerdings noch:

Mein 1. Problem ist, dass in jedem String ein Zeilenumbruch dranhängt (ist ja auch logisch), wie krieg ich den einfach weg?
Die Daten in der "preise.txt" in 1er Zeile schreiben also ohne Zeilenumbruch?
 
Hallo!

Danke für den Tipp!

Habs jetzt so gelöst:

Inhalt der Textdatei:
Code:
6.15||5.25||5.95||4.55||3.15||1.05||


PHP:
$fp=fopen('/home/blabla/preise.txt', 'r');
$zeile=fgets($fp);
$zeile_arr=explode('||',$zeile);

$k1b=$zeile_arr[0];
$k2b=$zeile_arr[1];
$k3b=$zeile_arr[2];
$k3b1=$zeile_arr[3];
$k3b2=$zeile_arr[4];
$k4=$zeile_arr[5];

fclose ($fp);

Greetz
MC
 
Zurück