Sortieren, Dateien

kevkev

Erfahrenes Mitglied
Hallo,

Mein Problem:
Ich hab in einem Ordner ca. 11 000 bilder die so fortlaufen nummeriert sind, z.b.:
jesus_1.jpg
jesus_2.jpg
gott_1.jpg
gott_2.jpg
...

Die dateinamen hab ich schon in einer text-datei, z.b.
jesus
gott
...

Was ich jetzt machen will:
PHP nimmt denn ersten namen in der textdatei und sucht in dem ordner alle bilder die diesen namen im dateinamen haben und erstellt dann einen ordner mit dem namen in der textdatei und soll dann die bilder die denn namen im dateinamen haben in diesen ordner verschieben.

Die funktionen mit ordner lesen, kopieren, preg_match hab ich schon, aber ich bekomme das nicht auf die reihe :(.

Kann mir da jemand helfen?

Gruß kevin
 
Ich habs jetzt hinbekommen, aber beim kopieren sagt mir php das ich nicht die zugrifsrechte zu dem ordner hätte.

Es kommt immer "premision denied".

Ich lasse die ordner mit mk_dir und 0777 erstellen, auch die bilder sind nicht schreibgeschützt.
Ich lasse das ganze auf meinem pc laufen, also als apache server.

Kann das sein das php keine zugrifssrechte hat? was muss ich denn da ändern in der php.ini?

Gruß Kevin
 
No Problemo:

PHP:
include("function_countlines.php");

$url_file = file("bilder.txt");

for ($i=0; $i<=CountLines("bilder.txt"); $i++){
echo "part$i<br>";
$replace1 = str_replace("\r\n", "", $url_file[$i]);
$handle=opendir('all_pics');
mkdir("all_pics/".$replace1, 777);

while ($file = readdir ($handle)) {
	if ($file != "." && $file != "..") {
		if (preg_match("/\b$replace1\b/i", "$file")) {
		   echo "$replace1 <b>True:</b> $file<br>";
			if (!copy("all_pics/".$file, "all_pics/".$replace1."/".$file)) {
		   		print ("failed to copy $file...<br>\n");
			}
		   
		   } else {
		   echo "$replace1 <b>False:</b> $file<br>";
		}
	
	}
}
}

Ist zwar nicht das beste aber es funktioniert :)!

Aber wie gesagt, das funktioniert ja, aber unter windows will irgendwie das chmodden nicht funktioniert!

Gruß kevin
 
Hi

meines Wissens kannst Du unter Windows mit chmod nicht viel anfangen. Da geht es den Weg über Verzeichniseigenschaften -> Sicherheitseinstellungen. Dort werden die Rechte vergeben.

Weiterhin: http://de2.php.net/features.safe-mode
Wenn diese on sind und Du nicht Eigentümer bist, sind bestimmte Funktionen deaktiviert. Wenn ich jetzt da falsch liege, bitte ich, mich zu korrigieren. Ich hatte nämlich mal ein ähnliches Problem mit dem Anlegen von Verzeichnissen, und man hat es mir so erklärt.
 
Ok, danke für denn Link, aber wo finde Ich denn unter Win XP verzeichnisseigenschaften?

Wegen dem Link:
Bei mir ist Safe_mode schon aus.

Gruß kevin
 
Zuletzt bearbeitet:
Hi,

komisch, bei mir gibt es soetwas nicht:
ordneroptionen.JPG


ich hab Win XP Home.

Gruß Kevin
 
schade. aber trotzdem danke.

Ich lad mir sowieso warscheinlich demnächst fedora runter, vielleicht gehts mit dem!

gruß Kevin
 
Zurück