» Wie lade ich nur Dateien mit Umlauten auf einen FTP?

Heute: PC aufräumen - alte Gerätetreiber löschenNeuen Thread eröffnenNeue Antwort erstellenPC Bild aufm Fernseher
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52420
Wohnort: Lohmar


Meine eBay-Auktionen:
27.01.2015, 14:41
zitieren

Ich habe bei einem Down- und Upload die Dateien nicht als UTF8 übertragen. Daher hat es die Umlaute zerschossen. Nun habe ich die Dateien noch noch mal korrekt in UTF8 heruntergeladen. Da mein Upload aber nicht der beste ist, möchte ich wenn möglich folgendes machen:
  1. nur die Dateien hochladen, die Umlaute enthalten
  2. alle Dateien auf dem Server löschen, die falsch codiert sind
Die Dateien auf dem Server löschen ginge noch mit PHP. Da kann ich mir ein Script schreiben, dass nach à usw. sucht. Aber beim Upload bin ich überfragt. Kann ich in Windows irgendwie alle Dateien löschen, die keine Umlaute enthalten, so dass nur noch die Umlaut-Dateien übrig bleiben?

Leider sind die Dateien alle in vielen Unterordnern verteilt. Also nach Umlaut suchen und Copy & Paste in ein neues Verzeichnis geht nicht.



Verfasst am: 27.01.2015, 14:56
zitieren

Windows ist ja super. Wenn ich das eingebe, dann rastet die Suche total aus und gibt mir Suchergebnisse aus und verwirft sie gleich wieder um dann wieder andere zu zeigen:
ZitatNOT ä NOT ö NOT ü NOT ß

Verfasst am: 27.01.2015, 19:40
zitieren

Ich habe es nun so gelöst:

Per Filezilla alles noch mal hochgeladen, aber bereits vorhandene übersprungen (die korrekten Umlaut-Dateien waren ja nicht da).

Schlussendlich habe ich dann noch dieses PHP-Script durchlaufen lassen um alle Dateien mit Umlauten zu löschen:
// alle Bilder mit falsch kodierten Umlauten werden gelöscht
$path = realpath('images');
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename) {
if (strpos($filename, '/..') === false) {
if (strpos($filename, 'Ã') !== false || strpos($filename, 'Ã') !== false || strpos($filename, 'Â') !== false || strpos($filename, 'Å') !== false) {
// if (strpos($filename, utf8_decode('Ã')) !== false || strpos($filename, utf8_decode('Ã')) !== false || strpos($filename, utf8_decode('Â')) !== false || strpos($filename, utf8_decode('Å')) !== false) {
$filename = str_replace("/.", "/", $filename);
echo $filename . "<br />\n";
if (is_dir($filename)) {
rmdir($filename);
}
else {
unlink($filename);
}
}
}
}

Wie man sieht gibt es zwei Varianten. Einmal mit utf8_decode() und dann auch ohne. Beide habe ich mich nicht getraut zu setzen, weil ich jeweils unterschiedliche Anwendungen hatte und keine erwünschten Dateien löschen wollte.

Den oben genannten Code muss man übrigens als UTF-8 abspeichern, ansonsten gehen die Zeichen bereits im Editor kaputt. Am besten das Löschen erst mal auskommentieren und schauen was er alles gefunden hat. Erst danach dann eben löschen.

Ich brauchte das ohne utf8_encode() als ich von einem FTP die Dateien mit ISO runtergeladen haben und mit mir unbekanntem Charset hochgeladen habe. Den mit utf8_encode() brauchte ich als ich die Dateien mit UTF8 heruntergeladen hatte und in ISO hochgeladen habe.

Seitdem erzwinge ich bei Filezilla immer UTF8. Das geht dann komischerweise, obwohl Filezilla das ja angeblich selbst automatisch setzen kann.

Ach ja. Das Script muss man mehrfach ausführen, weil er die falsch geschriebenen Verzeichnisse erst dann löscht, wenn keine Dateien mehr enthalten sind. Sollten falsch geschriebene Verzeichnisse dabei sein, wo richtig geschriebene Dateien drin sind, müsst ihr das Script entsprechend erweitern :P

 3x  bearbeitet

Verfasst am: 30.01.2015, 12:49
zitieren

Fragt mich nicht, aber es hat wieder nicht geklappt. Irgendwie gelten auf dem neuen Host die komisch geschriebenen Umlaute nun als korrekt. Auf dem vorherigen war das nicht so. Was auch immer, ich habe nun wirklich alle mit Umlauten gekillt und noch mal neu hochgeladen:
// alle Bilder mit falsch kodierten Umlauten werden gelöscht
$path = realpath('images');
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename) {
if (strpos($filename, '/..') === false) {
if (strpos($filename, 'Ã') !== false || strpos($filename, 'Ã') !== false || strpos($filename, 'Â') !== false || strpos($filename, 'Å') !== false
|| strpos($filename, utf8_decode('Ã')) !== false || strpos($filename, utf8_decode('Ã')) !== false || strpos($filename, utf8_decode('Â')) !== false || strpos($filename, utf8_decode('Å')) !== false
|| strpos($check_filename = htmlentities($filename, ENT_QUOTES, 'UTF-8'), '&') !== false
|| $filename != utf8_decode($filename)
) {
$filename = str_replace("/.", "/", $filename);
echo $filename . "<br />\n";
if (is_dir($filename)) {
rmdir($filename);
}
else {
unlink($filename);
}
}
}
}

 4x  bearbeitet
pn email
Gast 
30.01.2015, 12:49
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Wie lade ich nur Dateien mit Umlauten auf einen FTP?" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Wie macht man einen Link auf externe Dateien?
Hallo, ich habe in der Firma ein internes Mediawiki (1.3) aufgebaut. Hat bislang auch alles super funktioniert. Jetzt möchte ich aber externe Dateien verlinken, d.h. das Wiki liegt auf dem Server c:/ die betreffenden Dateien auf dem Laufwerk m:/ 1....
von amaisel
7
10.267
17.04.2009, 11:02
amaisel
Kann man mds-dateien zu iso-dateien umwandeln?
hallo. wollte mal fragen, ob es ein programm gibt um mds-image-dateien zu normalen iso-dateien umzuwandeln. so daß man sie normal als image brennen kann? in deutsch wäre ideal....
Seite 2 [Computer & Spiele]von blue devel
11
13.674
04.11.2008, 12:05
214
Dateinamen mit Umlauten
Muss aus Platzgründen unsere Wiki auf einen anderen Server umziehen. Nun sind schon etliche Dateien in die bisherige Wiki hochgeladen worden, bei denen Umlaute im Dateinamen vorkommen. Bisher gab es mit Links wie [[bild:übersicht.gif]] keine Probleme,...
von kringelkopp
8
3.593
18.03.2008, 15:46
mgutt
Lade-Kofferraumboden gesucht
Hallo, Suche für einen Insignia 4-türer den Lade-Kofferraumboden und zwar den, welcher für die Variante "Reifenreparaturset ohne Infinity-Sound-System und ohne Notrad. Bei dem eingangs erwähnten Insignia war das vollwertige Ersatzrad als Extra...
von Fladdy
2
293
25.05.2011, 13:43
Fladdy
wie lade ich bilder ins forum??
siehe themen...
[Offtopic]von Roadboy
7
309
10.08.2008, 13:57
Electric
Problem mit Umlauten nach Backupeinspielung
Hallo Ich habe soeben versucht ein Backup, dass ich mit mysqldump erstellt habe, auf einer anderen Maschine zu installieren. Alles funktioniert auch wunderbar. Nur in den Titeln der Seiten werden die Umlaute falsch dargestellt. In den Inhalten sind...
von mkjtravel
3
648
05.04.2009, 08:32
selli
[Hilfe]  Wie lade ich ein Avatar - Profilbild hoch?
Ein Profilbild, also das Bild unter Deinem Usernamen nennt man Avatar. Um so ein Bild hochladen zu können gehst Du auf: Profil -> Avatar-Steuerung -> und klickst auf "Durchsuchen" bei "Avatar von deinem Computer hochladen:" und...
Seite 2, 3, 4, 5, 6, 7 [Ankündigungen]von mgutt
66
7.856
21.12.2009, 11:27
oxygen
Biete Honda Lade-/Hundegitter für FR-V
Biete ein original Honda Gepäckgitter/Hundegitter für den FR-V. [URL=http://www.honda.de/globalimages/intact_images/acc_images/PQ9_08U35_SJD_600A_2512_2364.jpg]Honda Hundegitter[/URL] FÜR DEN ZWISCHENRAUM AB RÜCKLEHNE ZUM FAHRZEUGHIMMEL -...
[FR-V]von Nordlichtin
1
393
27.03.2012, 06:32
stachel
Probleme mit Umlauten nach Update auf Mediawiki 1.15.1
Hallo liebe Community, ich betrue in der Uni eine Wiki-Plattform, die ich vor kurzem von der Version 1.8.irgendwas auf die aktuelle Version 1.15.1 aktualsiert habe. Das Problem welches ich nun allerdings habe, ist dass sämtliche Kategorien, die...
von wikiOpfer
2
634
15.09.2009, 09:00
wikiOpfer
Probleme mit Umlauten nach Update auf Mediawiki 1.15.1
Hallo liebe Community, ich betrue in der Uni eine Wiki-Plattform, die ich vor kurzem von der Version 1.8.irgendwas auf die aktuelle Version 1.15.1 aktualsiert habe. Das Problem welches ich nun allerdings habe, ist dass sämtliche Kategorien, die...
von wikiOpfer
0
700
06.09.2009, 21:12
wikiOpfer
Sponsor: Top Design Shop
Top Design Shop

© 2004 - 2024 www.maxrev.de | Communities | Impressum |