• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Artikeleinlesen .... :(

Dafür ist das value-Attribut da. Zudem muss die Datei die den folgenden Code enthält auf .php enden:

Code:
<html>
<form action='artikeleinlesen.php' method='POST'>
Geben sie den Dateinamen ein:
<input type='Text' name='lesedatei'[COLOR=red] value="<?php echo $lesedatei; ?>"[/COLOR]></input>
<p><input type='Submit' name='egal' value='Versenden'></input></p>
</form>
</html>

das hat er mir gesagt ! und dann hab ich ihm das geglaubt ... weil er ja auch schlauer is als ich ...

PS: ich hab nicht gemeint das dieser link doof bzw. f*** is sondern er heist ja so ... deswegen .. die tutorials sind da echt gut
 
Werbung:
Ich meinte eher das:

Code:
<html>
[COLOR="red"]$_POST['lesedatei'][/COLOR]
<form action='artikeleinlesen.php' method='POST'>
Geben sie den Dateinamen ein:
<input type='Text' name='lesedatei' value="<?php echo $lesedatei; ?>"></input>
<p><input type='Submit' name='egal' value='Versenden'></input></p>
</form>
</html>
 
Juhu jetzt hab ich slebst rausgekrigt ... hier der code zur datei wo amn das eingeben kann :
Code:
<form action='artikeleinlesen.php' method='POST'>
Geben sie den Dateinamen ein den sie auslesen möcheten:
<input type='Text' name='lesedatei' value="<?php echo $lesedatei; ?>"></input>
<p><input type='Submit' name='egal' value='Versenden'></input></p>
</form>
und hier der code der artikeleinlesen.php :
Code:
<?php 
$fp = fopen($_POST['lesedatei'],"r"); // Datei öffnen
if ($fp) 
{ 
    while(!feof($fp))//Solange bis der Dateizeiger am Ende der Datei ist 
    { 
       $zeile = fgets($fp,100);//Einlesem der Zeilen 
       echo"$zeile <p>";//Ausgabe 
    } 
fclose($fp); // Datei schließen 
} 
else 
{ 
echo "Datei wurde nicht gefunden"; // Sollte Datei nicht vorhanden sein 
}  

?>
so jetzt hab ich aber noch eine Frage ... Jetzt wo ich weiß wie es geht hab ich gleich ein paar mehr sachen getestet .. nämlich datein löschen und datein erstellen ... hier ist ein quelltext einer Datei zum erstellen von Datein :
Code:
<?php 
$fp = fopen($_POST['erstelldatei'],"w"); // Datei öffnen
if ($fp) 
{ 
    while(!feof($fp))//Solange bis der Dateizeiger am Ende der Datei ist 
    { 
       $zeile = fgets($fp,100);//Einlesem der Zeilen 
       echo"$zeile <p>";//Ausgabe 
    } 
fclose($fp); // Datei schließen 
} 
else 
{ 
echo "Leider ist ein Fehler aufgetreten :( wenden sie sich bitte an den Administrator"; // Sollte Datei nicht vorhanden sein 
}  

?>

so und jetzt wenn die datei nicht erstellt werden kann kommt ja eie Fehlermeldung ...
Und wie mach ich das das da auch Text kommt wenn die Datei erfolgreich erstellt wurde ? Wenn sie erfolgreich erstellt wurde kommt da nur weißer hintergrund ... aber ich will das da steht :" Datei wurde erfolgreich erstellt " wie mach ich sowas ?
 
Werbung:
Die Funktion 'fopen' gibt bei Erfolg TRUE zurück, das prüfst du auch danach mit der Abfrage (if ($fp)).

Wenn du als if-Anweisung nur eine Variable einträgst, prüft er automatisch auf TRUE. Du kannst die Nachricht vor oder nach der While-Schleife mit echo einfügen.
 
Is das eigentlich normal das das so lange dauert die Datei anzulegen ? weil das dauert bei mir über 5 minuten !
 
5 Minuten, aber dann ist die Datei angelegt?

Ich kenne jetzt keine setTimeout Methode für fopen, versuch doch mal folgendes:

PHP:
$start = time();
$timeout = 60; // Dauer bis Abbruch in Sekunden
while (!$file = fopen($_POST['erstelldatei'],"w") && time() < $start + $timeout); if ($file){
    while(!feof($file)){ //Solange bis der Dateizeiger am Ende der Datei ist
        $zeile = fgets($file,100); //Einlesem der Zeilen         
        echo"$zeile <p>"; //Ausgabe      
    }
}

[EDIT]

Doch es gibt eine Methode, und zwar stream_set_timeout($fp, 10);
Wenn er nach 10 Sekunden nicht fertig ist, bricht er ab. Sonst wartet der User ja ewig...
 
Werbung:
Ja aber davon wird es ja nicht schneller ... Dann bricht es ja nur ab nach 10 sekunden ... gibt es da nicht irgendeine möglichkeit das schneller zu machen ?das is doch nur ne ganz normale datei ? aufm PC dauert das 0,05 sekunden oder so und das hochladen noch 1ne sekunde ... Geht das denn nicht schneller ?
 
Also wenn es so lange dauert, aber dennoch funktioniert, dann würde ich mal sagen: Scheiß Server =)

Wechsel den Anbieter, ich denke mal du hostet bei nem Freehoster oder sowas in der Art, da würde ich dir gerne bplaced.net ans Herz legen, das hat alles, was du brauchst.

Falls es nicht geht, erstelle mal eine Datei (info.php) und schreib folgendes rein:
PHP:
<?php
phpinfo();
?>

Da kannst du die aktuellen PHP-Einstellungen abfragen. Schick mir den Link, und ich sag dir, ob, und wenn nicht, warum es nicht geht.

Timmäh!
 
Werbung:
Und wieso kann ich deinen PHP Code im Quellcode sehen?

Das einzigste, was in der Datei stehen darf, ist das, was ich oben gepostet habe.
 
Dann stimmt irgendwas mit deinem Webspace nicht, was ich nicht verstehe, weil ich square7.ch kenne... Wende dich mal an die, irgendwas scheint da nicht zu stimmen oO
 
Werbung:
??? wiso was geht denn da nicht ? es funktioniert doch alles prima bei square7 ... (bis auf die dauer beim erstellen einer neuen datei )
 
Na das hilft mir jetzt weiter ... also naja und ich wollte nochmal fragen wie man das macht das da eine nachricht angegeben wird wie zum beispiel " Datei wurde erfolgreich hochgelaen " Das habt ihr mir zwar schon erzählt aber es klappt trotzdem nicht .... hier der code :
Code:
<?php 
$fp = fopen($_POST['erstelldatei'],"w"); // Datei öffnen
if ($fp) 
{ 
    while(!feof($fp))//Solange bis der Dateizeiger am Ende der Datei ist 
    { 
       $zeile = fgets($fp,100);//Einlesem der Zeilen 
       echo"$zeile <p>";//Ausgabe 
    } 
fclose($fp); // Datei schließen 
} 
true 
{ 
echo "Datei wurde erfolgreich angelegt"; // Sollte Datei nicht vorhanden sein 
} 
else 
{ 
echo "Datei wurde nicht gefunden"; // Sollte Datei nicht vorhanden sein 
}  
?>
was ist hier dran falsch ?
 
Werbung:
PHP:
<?php 
$fp = fopen($_POST['erstelldatei'],"w"); // Datei öffnen
if ($fp) 
{ 
    echo "Datei wurde erfolgreich angelegt"; // Sollte Datei nicht vorhanden sein 
    while(!feof($fp))//Solange bis der Dateizeiger am Ende der Datei ist 
    { 
       $zeile = fgets($fp,100);//Einlesem der Zeilen 
       echo"$zeile <p>";//Ausgabe 
    } 
fclose($fp); // Datei schließen 
} else { 
echo "Datei wurde nicht gefunden"; // Sollte Datei nicht vorhanden sein 
}  
?>

Wenn dann schon so, aber benutz statt 'w' 'w+', ein Blick auf php.net sagt dir, warum:
w: Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.
w+: Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.

Du willst die Datei ja auslesen, und nicht nur in sie schreiben.
 
Zurück
Oben