Page 1 of 1
Dateien zwischen Benutzern verschieben
Posted: Tue 9. Jun 2009, 10:56
by alcyone4169
Hallo miteinander,
ich habe eine Seite, in der unglaublich viele verschiedene Benutzer viele Dateien besitzen und möchte nun diese Dateien alle EINEM Benutzer zuweisen.
Ich dachte mir, dass ja in der Tabelle "phpwcms_file" drinsteht, welchem Nutzer die jeweilige Datei gehört und man das vielleicht einfach ändern kann. Dazu habe ich mir folgende kleine Abfrage gebastelt und per "while-Schleife" aus einer php-Datei erfolgreich ausgeführt. f_uid=2 ist der neue Benutzer, dem dann alle Dateien gehören sollen und $count die hochzählende php-variable.
Code: Select all
$sql = "UPDATE `phpwcms_file` SET `f_pid` = '0', `f_uid` = '2', `f_tstamp` = NULL, `f_vars` = '' WHERE `f_id` ='".$count."' LIMIT 1";
Soweit so schön, aber da die Dateien ja alle auch meist bei dem alten Benutzer irgendwie in Ordnern liegen, muss ich also vielmehr die Ordnerstruktur verschieben, denn die die einzelnen Dateien. Leider habe ich dazu keine Idee wie das gehen könnte.
Ich gebe zu, dass es etwas naiv war zu denken, mit der o.s. simpel-Abfrage könnte das gehen.
Hat jemand schon einmal so etwas gemacht und eine Idee wie das geht und ob es überhaupt geht?
Oder kann mir jemand erklären, wie ich die Ordnerstruktur entsprechend anpasse?
Vielen Dank im Voraus für etwaige Mühen!
Re: Dateien zwischen Benutzern verschieben
Posted: Tue 9. Jun 2009, 11:14
by update
Guck mal hier:
Eigentümerwechsel ultrakurz
Und das Verschieben der virtuellen Ordner optimalerweise per drag'n'drop - ajaxified

Da müssen wir uns wohl noch ein ganz klein wenig gedulden.... aber das muss! Alles andere ist ja ein PITA...
Re: Dateien zwischen Benutzern verschieben
Posted: Tue 9. Jun 2009, 11:31
by alcyone4169
Vielen dank für den Link.
Im Prinzip habe ich das ja gemacht.
Werde mal prüfen, ob es vielleicht geht, wenn man die Dateien der jeweiligen Nutzer in die Root-Verzeichnisse verschiebt, dann den Nutzer zum neuen Nutzer transferiert und die Dateien wieder in die Ordner sortiert...kann allerdings dauern...

Re: Dateien zwischen Benutzern verschieben
Posted: Tue 9. Jun 2009, 12:22
by juergen
Du musst nix verschieben *anmerk* diese "Ordner" sind nur in der Datnebank, real ist das nirgends so.
Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 09:46
by alcyone4169
Ja das war mir schon klar...weißt du zufällig, welche Datenbankeinträge die Ordnerstruktur beschreiben?
Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 10:52
by update
f_pid beschreibt die ID des Elternelements (phpwcms_file table)
Wenn Du also ein virtuelles Verzeichnis "verschieben" möchtest, dann änderst Du diese ID auf die ID des Elementes (="Verzeichnisses"), in das Du verschieben willst.....
Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 10:57
by pepe
Hi Claus....
das hört sich sehr "wissenschaftlich an"... kannst du das mal für Senioren - also ganz einfach zum Verstehen - erklären?
So waschzettelmäßig, meine ich... denk an meine "galloppierende" Demenz

Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 11:02
by update
An alle, die an dementia galloppa infuriensae leiden (ob Du dazugehörst, lieber pepe, möchte ich doch stark bezweifeln

)
http://www.phpwcms-howto.de/wiki/doku.p ... pwcms_file
da steht's, wie das zusammenhängt ...
Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 14:19
by pepe
Ach menoooo...jetzt muß ich doch wieder selber DENKEN.
Das ist überhauptnicht Internet-üblich

Ich wollte es auch mal so machen, wie es in den meisten Foren Standard ist.
1. Ehe man selber denkt... fragt man einfach!
2. Mehrere "doofe Antwortwillige" haben den Ärger am Hals, plagen sich tagelang ab, auf unklare Fragen präzise Antworten zu formulieren...
und stelle dann nach 15 Versuchen einer Erklärung fest, dass der Fragende garnicht mehr interessiert ist
OK... ich versuch's dann mal durch Experimentieren.... meine SANDBOX ist ja gross genug!
Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 15:07
by update
Datenbank-Tool anschmeissen
mehrere Riemen auf die Orgel legen
los geht's
f_id = die ID, wo's hin soll
f_pid = die Id, unter der das Verzeichnis hängt = f_id(Ziel)
Beispiel:
Du hast ein Verzeichnis "Würmer" f_id = 5
Und eines "Hohlwürmer" f_id = egal f_pid = 9
Nach obiger Theorie kann das kein (direktes) Unterverzeichnis von "Würmer" sein...
Wenn Du aber jetzt "Hohlwürmer" f_id = egal f_pid = 9 ===>> "Hohlwürmer" f_id = egal f_pid = 5
machst, dann sehr wohl
Und "Drehwürmer" f_id = egal f_pid = 99 ===>> "Drehwürmer" f_id = egal f_pid = 5
findet sich dann auch unterhalb von "Würmer" wieder
Gottseidank habe ich mich jetzt nicht tagelang damit abgeplagt

Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 15:57
by pepe
Re: Dateien zwischen Benutzern verschieben
Posted: Wed 10. Jun 2009, 16:40
by update
Selbstverständlich Jain!
Eigene Forschungen bestätigen, dass auch das Verschieben von Hohldraht in ein Verzeichnis "Röhren" möglich ist

Re: Dateien zwischen Benutzern verschieben
Posted: Thu 11. Jun 2009, 20:43
by alcyone4169
1. Der Fragende ist sehr wohl noch interessiert, er studierte bloß ein wenig. Zur Abwechslung.
2. Der Fragende dankt vielmals für investierten Gehirnschmalz und wird es einmal probieren anzuwenden, da er vermessener Weise glaubt es kapiert zu haben.
3. Der Fragende ist sich nicht sicher ob man auch ein Verzeichnis Kreis in ein Verzeichnis Quadrat kriegt
4. Er dankt nochmal.
Dann geh ich mal Riemen für die Datenbank zusammenklauben...
Re: Dateien zwischen Benutzern verschieben
Posted: Thu 11. Jun 2009, 21:24
by update
alcyone4169 wrote:3. Der Fragende ist sich nicht sicher ob man auch ein Verzeichnis Kreis in ein Verzeichnis Quadrat kriegt
HA! Du kommst mir recht!
Natürlich geht das - und zwar mit Hilfe der
Quadratur des Kreises. Freund Pythagoras zB hat da neulich mal was drüber geschrieben und sogar gleich noch 'ne Schule dafür gegründet.
Und Du kannst selbstverständlich auch Dreiecke in Rechtecke und diese in Quadrate überführen usw ad absurdum infinitum
Viel Erfolg

Re: Dateien zwischen Benutzern verschieben
Posted: Thu 11. Jun 2009, 22:51
by alcyone4169
So, geschafft.
Die Dateien gehören alle einem Benutzer, liegen alle in einem Überordner, sind allerdings noch in ihren Unterordnern (damit man die liebevoll benannten IMG_sonstewas.xyz auch hinterher einigermassen zuordnen kann).
Allerdings habe ich es nach einer recht pragmatischen Version gemacht:
1. Alle Dateien dem neuen Nutzer zuordnen (Feld f_uid updaten, s.o.)
2. Tabelle in phpmyadmin nach f_ext sortieren und alle ohne Dateiendung markieren, denn dass sind dann die Ordner, glaube ich zumindest (alle mysql- Befehle mit IS NULL wollten nicht klappen)
3. unten markierte -> exportieren klicken, es erscheint eine ellenlange Aufzählung der markierten Felder, da phpmyadmin den Befehl wieder anzeigt -> kopieren, (zumindest bei meiner Version von phpmyadmin ging das)
4. im sql-Abfrage Feld von phpmyadmin einfügen und
Code: Select all
UPDATE phpwcms_file SET f_pid = ELTERN_ID_GEWÜNSCHT WHERE
davor einfügen. Danach kommen dann die ganzen (f_id = xy ) OR (f_id=xz) OR etc...
5.ausführen und sich wundern warum man nicht irgendwann mal gelernt hat sich ne ordentliche mysql-Abfrage zu basteln.
Wenn jemand den mysql-Befehl kennt, um alle Felder der Spalte f_ext auszuwählen, in denen nicht explizit eine Dateiendung steht, dann möge er ihn kundtun, ich denke damit wärs noch einfacher gegangen, halt ohne das copy&paste - Gerödel.
Es führen viele wege nach Rom, ich bin über diesen gegangen. Vom elegantesten und wenig holperigsten sicher meilenweit entfernt.
Danke.