SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #41  
Alt 15.02.2003, 13:11:34
Benutzerbild von markusschmitt
markusschmitt markusschmitt ist offline
Anfänger
 
Registriert seit: Feb 2003
Beiträge: 70
Also meine Pfadangabe sieht folgendermaßen jetzt aus
<?PHP
echo "<table>";
$arr = file("ftpftps" . $datei);
while($datei = readdir(opendir($dir)))
{
if(is_file($datei))
{
$arr = file("ftpftps" . $datei); //Hier meckert er

Mit was ersetzt ich "trennzeichen"?

Sorry für die Dumme Frage aber ich steig da solangsam nimmer durch.

Mfg Markus
Mit Zitat antworten
  #42  
Alt 15.02.2003, 14:40:50
Ben20
Guest
 
Beiträge: n/a
Für trennzeichen setzt Du das Zeichen ein, das zwischen den Werten in den Dateien steht! Eben das Trennzeichen (Im ersten Script hattest Du keins eingebaut, deshalb meinte ich ja, wie Du die Werte ohne ein Trennzeichen jemals wieder auslesen willst!)


Denn Pfadfehler habe ich Dir schon im vorhergehenden Post gezeigt!

Zitat:
Wenn Du nach c:apachehtdocsftpftps willst und in c:apachehtdocsftp bist mußt Du den Pfad so angeben
"ftps" . $datei
Wer lesen kann ist im Vorteil! ;-)
Mit Zitat antworten
  #43  
Alt 15.02.2003, 15:05:41
Ben20
Guest
 
Beiträge: n/a
Ach noch was, hätte ich fast vergessen: ist das Fluchtzeichen in PHP, deshalb mußt den in der Pfadangebe auch maskieren! Sprich Du mußt in den Pfadangaben alle durch ersetzen!
Mit Zitat antworten
  #44  
Alt 15.02.2003, 15:06:33
Benutzerbild von markusschmitt
markusschmitt markusschmitt ist offline
Anfänger
 
Registriert seit: Feb 2003
Beiträge: 70
Ne bei mir gibts zwei Verzeichniss die ftp heißen und nacheinander also "C:apachehtdocsftpftpftps" . Ich bin im ersten ftp daher ist meine $arr = file("ftpftps" . $datei);
anscheinend richtig (denk ich jetzt mal).
Als Platzhalter hab ich jetzt gedacht meinst du zum Beispiel das "n" so dass ich danach Zeile für Zeile auslesen kann. In meiner Textfile sieht die Auflistung folgendermaßen aus

Servername
Username
Passwort
Port
Details

Die Ausgabe sollte dann so inetwa aussehen
Feld1-Servername, Feld2-Username, Feld3- Passwort, Feld4-Port, Feld5-Details

Darunter dann die anderen Werte aus den anderen Textfiles genauso aufgelistet.

Ich hab mir gedacht das es so am einfachsten ist auszulesen wenn jeder Teil untereinander sitzt da ich mir sonst noch sorgen machen müsste wegen dem Seekpointer. Später mal soll noch eine Suchfunktion ins Skript eingehen was die Inhalte der Textfiles nutzt und die Ftps dann durchsucht. Jedes Suchwort gibt eine neue Textfile und jede Übereinstimmung wird dann dann mit Verzeichnisstruktur in die Textfile geschrieben. Diese wird dann nachdem alle Ftps durchsucht wurden als Hyperlink ausgegeben.

Um nochmal auf den oberen Skript zurückzukehren. Ich denk die einfachst Funktion ist ein Array pro Textfile anzulegen mit der Lenge 5 so dass 5 Werte eingelesen werden. Pro Textfile wird der Name des Arrays um 1 erhöht per Schleife. Am Ende sollen dann alle Arrays ausgelesen werden und in Tabellenform ausgegeben.

Mfg Markus
Mit Zitat antworten
  #45  
Alt 15.02.2003, 17:43:31
Ben20
Guest
 
Beiträge: n/a
Ok, zum letzten:

Das die Datei nicht aufgeht liegt wohl daran

Zitat:
Ach noch was, hätte ich fast vergessen: ist das Fluchtzeichen in PHP, deshalb mußt den in der Pfadangebe auch maskieren! Sprich Du mußt in den Pfadangaben alle durch ersetzen!
Wenn Du die Werte in einzelne Zeilen ließt, so kannst Du dir das Ganze mit explode() sparen! Die einzelnen Werte hast Du ja schon mit file() in den Array eingelesen - den mußt Du dann nur noch formatiert ausgeben!
Mit Zitat antworten
  #46  
Alt 15.02.2003, 18:19:48
Benutzerbild von markusschmitt
markusschmitt markusschmitt ist offline
Anfänger
 
Registriert seit: Feb 2003
Beiträge: 70
Also ich hab den Pfad verbessert so wie du sagtest, jetzt brüllt er aber permission denieded

Warning: file("ftpftps") - Permission denied in C:apachehtdocsftpftpindex.php on line 3

Fatal error: Maximum execution time of 30 seconds exceeded in C:apachehtdocsftpftpindex.php on line 4

Der hat doch die Erlaubnis zu arbeiten sonst hätte er ja gar nicht die textfiles anlegen können.
Hab mal ne Frage zu Line 3: Du verwendest dort die variable $datei aber du legst die Variable doch erst in der vierten Zeile an. Ist das rechtens. Java sockelt Zeile für Zeile ab aber hier ist durcheinander. Zu deinem Trennzeichen hab ich ein wenig gespielt. Hab mal nur ein leeres Stück dringelassen und alle Leerzeichen sind verschwunden. Hab mal Hallo reingeschrieben und alle Leerzeichen waren wieder da. Macht das Wort trennzeichen oder Hallo jetzt nur das ein Leerzeichen da ist oder für was brauch ich das. Hab mir mal die Funktion explode() angeschaut. Geh ich richtig in der Annahme das dadurch im Array jetzt inetwa so aussieht: servername username passwort usw. Jedes Leerzeichen heißt hier ist ein neues Array also in Array[0] steht servername in Array[1] steht username usw. Würde ichs nicht auffteilen könnte er es nicht mehr unterscheiden und es würde ein Array daraus entstehen was alle Wörter hintereinander in einer Postion speichert als Array[0] hat servernameusernamepasswort usw. Aus der Logik kann ich den Seperator doch trennzeichen nennen oder hauptsache ist ja da steht irgendwas? Der Dient ja nur um zu unterteilen in die einzelnen Array Positonen und wie der heißt ist dementsprechend egal oder?

<?PHP
echo "<table>";
$arr = file("ftpftps\" . $datei);
while($datei = readdir(opendir($dir)))
{
if(is_file($datei))
{
$arr = file("ftpftps\" . $datei);
echo "<tr>";
for($i =0; $i < sizeof($arr); $i++)
{
$arr2 = explode("trennzeichen", $arr[$i]);
for($y = 0; $y < sizeof($arr2); $y++)
{
echo "<td>$arr2[$y]</td>";
}
}
echo "</tr>";
}
}
echo "</table>";
?>

Mfg Markus
Mit Zitat antworten
  #47  
Alt 15.02.2003, 20:24:25
Ben20
Guest
 
Beiträge: n/a
1. Sag mal, warum hast Du $arr eigentlich vor die while Schleife gesetzt? Mein Ursprüngliches Script lautete so:

Code:
echo "<table>";
$dir = "PfadZumVerzeichnis" 
while($datei = readdir(opendir($dir))) { 
 if(is_file($datei)) { 
 $arr = file("PfadZurDAtei/Dateiname");  // $arr wird erst innerhalb von while definiert!
 echo "<tr>";
 for($i =0; $i < sizeof($arr); $i++) { 
  $arr2 = explode("trennzeichen"; $arr[$i]);
  for($y = 0; $y < sizeof($arr2); $y++) {
   echo "<td>$arr2[$y]</td>";
  }
 } 
 echo "</tr>";
} 
} 
echo "</table>";
[/quote]


2.
Zitat:
Geh ich richtig in der Annahme das dadurch im Array jetzt inetwa so aussieht: servername username passwort usw. Jedes Leerzeichen heißt hier ist ein neues Array also in Array[0] steht servername in Array[1] steht username usw. Würde ichs nicht auffteilen könnte er es nicht mehr unterscheiden und es würde ein Array daraus entstehen was alle Wörter hintereinander in einer Postion speichert als Array[0] hat servernameusernamepasswort usw. Aus der Logik kann ich den Seperator doch trennzeichen nennen oder hauptsache ist ja da steht irgendwas? Der Dient ja nur um zu unterteilen in die einzelnen Array Positonen und wie der heißt ist dementsprechend egal oder?
Richtig - aber wie ich Dir schonmal gesagt habe:


Zitat:
Wenn Du die Werte in einzelne Zeilen ließt, so kannst Du dir das Ganze mit explode() sparen! Die einzelnen Werte hast Du ja schon mit file() in den Array eingelesen - den mußt Du dann nur noch formatiert ausgeben


Es wäre echt gut, wenn Du dir meine Beiträge vielleicht aufmerksam durchliest, bevor Du wieder irgendwas im Quelltext rumfummelst - das würde uns beiden eine Menge Arbeit sparen!
Mit Zitat antworten
  #48  
Alt 18.02.2003, 22:11:14
Benutzerbild von markusschmitt
markusschmitt markusschmitt ist offline
Anfänger
 
Registriert seit: Feb 2003
Beiträge: 70
Also ich hab mich jetzt mehrere Tage hinter den Code gesetzt und heng jetzt. Das ist der Code

<?PHP
$dir=opendir ("ftpftps");

while ($file = readdir ($dir)) //----ist zur Überprübung ob der Pfad stimmt.
{
if($file != "." && $file != "..")
echo "$file <br>";
} //-----------------------------------bis hierher

echo "<table>";
while($datei = readdir(opendir($dir)))
{
if(is_file($datei))
{
$arr = file("ftpftps" . $datei);
echo "<tr>";
for($i =0; $i < sizeof($arr); $i++)
{
$arr2 = explode("trennzeichen", $arr[$i]);
for($y = 0; $y < sizeof($arr2); $y++)
{
echo "<td>$arr2[$y]</td>";
}
}
echo "</tr>";
}
}
echo "</table>";

closedir($dir);
?>

Also der Pfad stimmt da das meine Ausgabe ist

madcap.testserver.txt
al-capone.testserver.txt

Da mein Ausgabe so aussieht schlussfolger ich mal das $dir richtig ist. Da meine Datei Zeilenweise ist kann ich mir wie du sagtest das mit explode sparen. Ich versteh bloß nicht was kann ich von dem Code löschen kann. Habs mal versucht aber ich bekomm ausser dem Verzeichnisinhalt keine Aussgabe, warum?

<?PHP
$dir=opendir ("ftpftps");
while ($file = readdir ($dir))
{
if($file != "." && $file != "..")
echo "$file <br>";
}

echo "<table>";
while($datei = readdir(opendir($dir)))
{
if(is_file($datei))
{
$arr = file("ftpftps" . $datei); // hier wird die Datei ins array $arr geschrieben
echo "<tr>";
for($i =0; $i < sizeof($arr); $i++)
{
echo "<td>$arr2[$y]</td>";
}
echo "</tr>";
}
}
echo "</table>";

closedir($dir);
?>
Mit Zitat antworten
  #49  
Alt 18.02.2003, 22:29:10
Ben20
Guest
 
Beiträge: n/a
Das sieht doch schon sehr gut aus! ;-) Nur hier ist noch ein kleiner Bug drin


<?PHP
$dir=opendir ("ftpftps");
while ($file = readdir ($dir))
{
if($file != "." && $file != "..")
echo "$file <br>";
}
echo "<table>";
while($datei = readdir(opendir($dir)))
{
if(is_file($datei))
{
$arr = file("ftpftps" . $datei); // hier wird die Datei ins array $arr geschrieben
echo "<tr>";
for($i =0; $i < sizeof($arr); $i++) // die Zählschleife ist mit $i aufgebaut!
{
echo "<td>$arr2[$y]</td>"; // hier verwendest Du aber $y - außerdem verwendest Du $arr2 (der Array mit dem Dateiinhalt heißt aber $arr)
}
echo "</tr>";
}
}
echo "</table>";
closedir($dir);
?>

Ansonsten sollte eigentlich alles gehen!
Mit Zitat antworten
  #50  
Alt 18.02.2003, 23:14:37
Benutzerbild von markusschmitt
markusschmitt markusschmitt ist offline
Anfänger
 
Registriert seit: Feb 2003
Beiträge: 70
Habs verbessert aber ich bekomm auser den Dateien im Ordner ftps kein Ausgabe. Kannst dus dir mal geschwind anschauen.
Nur ftpindex4.php ist interessant da steht der Code drin. Das andere ist einfach nur Pseudo Code und Code Schnippseln mit denen ich gespielt hab.
http://home.arcor.de/stefanernst2/Unterlagen/index4.zip

ich verstehs net, ich les doch ins array ein und und geb dann aus aber warum bekomm ich keine Ausgabe des Arrays.

Mfg Markus
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:32:43 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt