Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi

brauche mal ein script das folgendes macht:

- Ein Verzeichnis durchgehen

- die ersten 4 Zeichen des Dateinames rauslesen

- alle dateien auflisten

- keine doppelten ( erste vier Zeichen )

- in eine datei speichern

ich denk mal da kommt Perl am besten in frage oder?

danke für eure hilfe

ah ja....

<?PHP
$pfad = "";
$datei = "namen.txt";

touch($datei); //Datei zum sichern der Namen anlegen

$fp = popen($pfad,'r');

while(!feof($fp))
{
if(!is_dir($fp)) {
$datei_lang = fgets($fp);
$datei_kurz = substr($datei_name,0,4);

echo $datei_lang . '<br>';
// Oder Ausgabe des kurzen Namen:
//echo $datei_kurz . '<br>';

$fp2 = fopen($datei,'r')
$inhalt = fread($fp2,filesize($datei)); //Inhalt der bisher geschriebenen Datei lesen
fclose($fp2);

if(substr_count ($inhalt,$datei_lang . '\n') == 0) //Prüfen ob schon vorhanden
{
$fp3 = fopen($datei,'w');
fwrite($fp3,$datei_name.'\n'); // Einschreiben + Zeilenumbruch
fclose($fp3);
}
}
}

pclose($fp);

?>[/PHP]

achtung...NICHT getestet!

vielen dank erstmal

bekomme da den fehler:

Parse error: syntax error, unexpected T_VARIABLE in D:\xampp\htdocs\namen.php on line 20

kann ich die datei so nicht anlegen lassen ?

   <?PHP
$pfad = "C:\test";
$datei = "namen.txt";

touch($datei); //Datei zum sichern der Namen anlegen

$fp = popen($pfad,'r');

while(!feof($fp))
{
if(!is_dir($fp)) {
$datei_lang = fgets($fp);
$datei_kurz = substr($datei_name,0,4);

echo $datei_lang . '<br>';
// Oder Ausgabe des kurzen Namen:
//echo $datei_kurz . '<br>';

$fp2 = fopen($datei,'r')
$inhalt = fread($fp2,filesize($datei)); //Inhalt der bisher geschriebenen Datei lesen
fclose($fp2);

if(substr_count ($inhalt,$datei_lang . '\n') == 0) //Prüfen ob schon vorhanden
{
$fp3 = fopen($datei,'w');
fwrite($fp3,$datei_lang.'\n'); // Einschreiben + Zeilenumbruch
fclose($fp3);
}
}
}

pclose($fp);

?> [/PHP]

dann schau dir die zeilen 19-21 doch an, da ist ein Syntaxfehler irgendwo.

bekomme da den fehler:

Parse error: syntax error, unexpected T_VARIABLE in D:\xampp\htdocs\namen.php on line 20


<?PHP
$fp2 = fopen($datei,'r')
?> [/PHP]

Da fehlt das Semikolon am Ende...

hth

Reinhold

ups dankeschön :) jarnicht gesehen

jetzt wenn ich mal alles rausnehme also nur:

   <?PHP
$pfad = "C:\test";
$datei = "namen.txt";

touch($datei); //Datei zum sichern der Namen anlegen

$fp = popen($pfad,'r');

while(!feof($fp))
{
if(!is_dir($fp)) {
$datei_lang = fgets($fp);
$datei_kurz = substr($datei_name,0,4);

echo $datei_kurz . '<br>';

//$fp2 = fopen($datei,'r');
//$inhalt = fread($fp2,filesize($datei)); //Inhalt der bisher geschriebenen Datei lesen
//fclose($fp2);

//if(substr_count ($inhalt,$datei_lang . '\n') == 0) //Prüfen ob schon vorhanden
//{
//$fp3 = fopen($datei,'w');
// fwrite($fp3,$datei_lang.'\n'); // Einschreiben + Zeilenumbruch
//fclose($fp3);
//}
}
}

pclose($fp);

?> [/PHP]

da gibt es mir nur eine leere datei...

kann ich den pfad so nicht angeben ?

Bearbeitet von Hyäne

hat sich erledigt...hab es anders gelöst

hab das jetzt so gelößt.

er ließt auch alle dateien aus aber er gibt nur ca. 4000 strings aus von ca. 8000.

gibt es da eine max. bei den arrays ?

<?php
$dir = '****';
$files = array();
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
array_push($files,$file);

}
}
}
//print_r($files);

for ($i = 1; $i <= sizeof($files); $i++) {
$id = substr($files[$i],0,5);
$ids[$i] = $id;
}
$result = array_unique($ids);

for ($i = 1; $i <= sizeof($result); $i++) {
echo $result[$i]."<br>";
}


?>
[/PHP]

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.