Bilder aus der phpBB gallery retten - Lösungsansatz

otto

Die 5k-Labertasche
Lizenzinhaber
Registriert
11. Dez. 2010
Beiträge
5.222
Punkte
448
XF Version
  1. 2.2.15
XF Instanz
Hosting
PHP-Version
8.2.x
MySQL/MariaDB
10.3.x
Provider/Hoster
Strato/Hetzner
Hallo,

vielleicht bin ich nicht der einzige der nach xenforo migriert ist von einem phpBB3 mit der phpBB gallery. Das der Import des phpBB3 nur mangelhaft ist ist verschmerzbar - das meiste kommt mit wie es soll.

Was aber mit den Fotos in der phpBB gallery?

Einen Importer hab ich noch nicht - aber zumindest eine Notlösung um gezielt Fotos da wieder heraus zu bekommen:

Auf phpBB.com hatte ich mal einen Beitrag gefunden, der beschreibt wie man die Attachments prinzipiell aus phpBB heraus bekommt und zwar mit den original Dateinamen und nicht den uniquen unter denen sie gespeichert sind.

Ich habe das ganze mal etwas angepasst, so das man sich die Bilder der phpBB gallery heraus picken kann.

In meinem Beispiel ziehe ich alle Bilder der Galerie und speichere diese in einem neuen Ordner mit folgender Strucktur:

Album_ID -UserName-Bewertungspunkte-EchterBildname.jpg

Ich habe nur JPGs in der alten Galerie, deshalb geb ich den Dateien fix die Endung ".jpg" und die Bewertungspunkte benötige ich um die Bilder eines alten Wettbewerbes zu "retten" und ie Bewertungen mit zu nehmen.

Los gehts:
1. generell nötig:
- Neues Verzeichnis im phpBB Forum root anlegen, zB. filebackup , dem neuen Verzeichnis die Rechte 777 geben um es beschreiben lassen zu können.
- Neue PHP Datei im root des phpBB Forum anlegen, zB. bildretter.php​

2. Code dieser bildretter.php Datei:
PHP:
<?php
// Konfigurationsdatei des phpBB laden
    include("config.php");
// Verbindung zur Datenbank des phpBB aufbauen   
    $con = mysql_connect($dbhost,$dbuser,$dbpasswd);
    mysql_select_db($dbname);

// MYSQL Abfrage
    $query = "SELECT * FROM phpbb_gallery_images ORDER BY image_id";
    $res = mysql_query($query,$con);
    while ($row = mysql_fetch_assoc($res))

/* 
Kopieren der Dateien aus dem Quellordner der phpBB Galerie in den neu erstellten Ordner ("filebackup/") gefolgt von den zusätzlichen Infos die wir aus der Tabelle phpbb_gallery_images auslesen und den neuen Dateien in deren Dateinamen einfügen, am Ende die Dateiendung .jpg für alle Dateien
*/
    {
        copy ("gallery/images/upload/" . $row['image_filename'], "filebackup/" . $row['image_album_id'] . "_" . $row['image_username'] . "_" . $row['image_rate_points'] . "_" . $row['image_name_clean'] . ".jpg" );
    }

?>

Das Script starten über www.deineDomain.de/Forum-root/bildretter.php .

Wenn man nur eine weiße Seite sieht, die aber im Browser permanent läd, dann schaut es positiv aus und die Bilder werden wie gewünscht ausgelesen, kopiert und mit den Zusatzinfos versehen im neuen Ordner gespeichert.


So - das ist quasi die Wald und Wiesen Bauern Methode um überhaupt an die Daten zu gelangen. Falls das wer verbessern wollte - bitte gerne, würde mich freuen. :)
 
Zurück
Oben