Page 1 of 1
Bilder verschieben
Posted: Fri Aug 18, 2006 10:41 am
by Jasi
Hallo, ich nutze die Version 1.1-beta1 und wollte nun Bilder meines Blogs in Unterorder verschieben, zur Zeit liegen die im Stammverzeichnis, jetzt habe ich Ordner angelegt und frage mich wie ich die in die Unterordner bekomme ohne das mein Blog keine Bilder mehr findet.
Viele Grüsse
Jan
Re: Bilder verschieben
Posted: Fri Aug 18, 2006 11:58 am
by garvinhicking
Hi!
Theoretisch kannst Du ein Bild editieren (mit der Werkzeugzange in der Mediendatenbank). Dort siehst Du ein Dropdown wo der aktuelle Pfad des Bildes angezeigt ist. Wenn Du dort den Pfad änderst, wird s9y die Datei verschieben (sofern Schreibrechte im Verzeichnisbaum bestehen!) und in der Datenbank die einträge korrigieren (nur wenn Du MySQL benutzt).
Viele Grüße,
Garvin
Posted: Fri Aug 18, 2006 1:19 pm
by Jasi
Ja, also auf Dateiebene verschiebt er die Bilder aber dann sind sie im Blog weg, sprich es wir nicht in der DB angepasst.
Gruss
Jan
Posted: Fri Aug 18, 2006 1:22 pm
by garvinhicking
Hi!
Kannst Du ein Beispiel nennen wie der Dateiname vorher war und wie er nachher war?
Und wie ein Eintrag von Dir aussieht, der noch auf das alte Bild linkt?
Und welche MySQL-Datenbank version setzt Du ein?
Grüße,
Garvin
Posted: Fri Aug 18, 2006 1:33 pm
by Jasi
Also der Dateiname ist ja identisch wir vorher, nur hat er das Bild in einen anderen Ordner verschoben, sprich Dateiname ist gleich geblieben.
Nur der Pfad in der Datenbank wird nicht aktualisiert, ich nutze mysql 4.0.25.
Gruss
Jan
Posted: Fri Aug 18, 2006 1:38 pm
by garvinhicking
Hi!
Das weiß ich ja

Ich wollte von Dir so etwas:
Vorher:
/www/serendipity/uploads/x01.jpg
Nachher:
/www/serendipity/uploads/NeuerOrdner/x01.jpg
Eintrag:
Hi, hier ist mein bild: <img src="/www/serendipity/uploads/NeuerOrdner/x01.jpg" />.
MySQL-Version:
4.0.25
Viele Grüße,
Garvin
Posted: Fri Aug 18, 2006 1:46 pm
by Jasi
ahso
Vorher:
/bautagebuch/uploads/Schild_Entlastungsstrasse.jpg
Nachher:
/bautagebuch/uploads/Vorspiel/Schild_Entlastungsstrasse.jpg
Eintrag (html):
<p>Heute bin ich am Baugebiet vorbeigefahren und habe drei Vermesser gesehen die mit Plänen und Sense bewaffnet wohl die Vermessungspunkte freigelegt haben. Der Landwirt kann dann mit dem Ernten beginnen, bin mal gespannt wann er das macht. Auf dem Heimweg von Pattensen nach Hannover haben wir dann noch ein Schild der Stadt Pattensen gesehen mit dem auf den Bau der Entlastungsstrasse hingewiesen wird.<a class="serendipity_image_link" onclick="F1 = window.open('/bautagebuch/uploads/vermesser001.jpg','Zoom','height=615,width=815,top=132,left=176,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes'); return false;" href="
http://www.derjasimo.de/bautagebuch/upl ... .jpg"><img style="BORDER-RIGHT: 0px; PADDING-RIGHT: 5px; BORDER-TOP: 0px; PADDING-LEFT: 5px; FLOAT: left; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="83" src="
http://www.derjasimo.de/bautagebuch/upl ... yThumb.jpg" width="110" /></a><a class="serendipity_image_link" onclick="F1 = window.open(
'/bautagebuch/uploads/Schild_Entlastungsstrasse.jpg','Zoom','height=615,width=815,top=132,left=176,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes'); return false;" href="
http://www.derjasimo.de/bautagebuch/upl ... .jpg"><img style="BORDER-RIGHT: 0px; PADDING-RIGHT: 5px; BORDER-TOP: 0px; PADDING-LEFT: 5px; FLOAT: left; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="83" src="
http://www.derjasimo.de/bautagebuch/upl ... yThumb.jpg" width="110" /></a></p>
Bin mir nicht sicher ob Du das so wolltest.
Jan
Posted: Fri Aug 18, 2006 2:12 pm
by garvinhicking
Hi!
Hm, der suchen+ersetzen Code schlägt fehl, weil serendipiy nur relative Links (also /buatagebuch/uploads/XXX) ersetzen würde, anstelle
http://XXXX.de.
Aber vielleicht könnten wir das beheben.
Öffne mal bitte deine Datein include/functions_images.inc.php. Dort steht ungefähr in Zeile 3246 folgendes:
Code: Select all
$q = "SELECT id, body, extended
FROM {$serendipity['dbPrefix']}entries
WHERE body REGEXP '(src|href)=(\'|\")" . serendipity_db_escape_string($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . "'
OR extended REGEXP '(src|href)=(\'|\")" . serendipity_db_escape_string($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . "'
";
$dirs = serendipity_db_query($q);
if (is_array($dirs)) {
foreach($dirs AS $dir) {
$dir['body'] = preg_replace('@(src|href)=(\'|")' . preg_quote($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . '@', '\1=\2' . $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $newDir, $dir['body']);
$dir['extended'] = preg_replace('@(src|href)=(\'|")' . preg_quote($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . '@', '\1=\2' . $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $newDir, $dir['extended']);
$uq = "UPDATE {$serendipity['dbPrefix']}entries
SET body = '" . serendipity_db_escape_string($dir['body']) . "' ,
extended = '" . serendipity_db_escape_string($dir['extended']) . "'
WHERE id = " . serendipity_db_escape_string($dir['id']);
serendipity_db_query($uq);
}
printf(MEDIA_DIRECTORY_MOVE_ENTRIES . '<br />', count($dirs));
}
ersetze diesen ganzen Block bitte mal durch dieses:
Code: Select all
$q = "SELECT id, body, extended
FROM {$serendipity['dbPrefix']}entries
WHERE body REGEXP '(src|href)=(\'|\")(" . serendipity_db_escape_String($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . "|" . serendipity_db_escape_string($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ")'
OR extended REGEXP '(src|href)=(\'|\")(" . serendipity_db_escape_String($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . "|" . serendipity_db_escape_string($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ")'
";
$dirs = serendipity_db_query($q);
if (is_array($dirs)) {
foreach($dirs AS $dir) {
$dir['body'] = preg_replace('@(src|href)=(\'|")(' . preg_quote($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . '|' . preg_quote($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ')@', '\1=\2' . $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $newDir, $dir['body']);
$dir['extended'] = preg_replace('@(src|href)=(\'|")(' . preg_quote($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . '|' . preg_quote($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ')@', '\1=\2' . $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $newDir, $dir['extended']);
$uq = "UPDATE {$serendipity['dbPrefix']}entries
SET body = '" . serendipity_db_escape_string($dir['body']) . "' ,
extended = '" . serendipity_db_escape_string($dir['extended']) . "'
WHERE id = " . serendipity_db_escape_string($dir['id']);
serendipity_db_query($uq);
}
printf(MEDIA_DIRECTORY_MOVE_ENTRIES . '<br />', count($dirs));
}
Und sag dann ob das was hilft? Theoretisch sollte es dann beim umbenennen auch den http:// Fall mit abdecken...
Viele Grüße,
Garvin
Posted: Fri Aug 18, 2006 2:44 pm
by Jasi
Hi, danke funktioniert fast
Also nun habe ich im selben arikel ein anderes Bild verschoben:
.<a class="serendipity_image_link" onclick="
F1 = window.open('/bautagebuch/uploads/vermesser001.jpg','Zoom','height=615,width=815,top=132,left=176,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes'); return false;" href="
http://www.derjasimo.de/bautagebuch/upl ... .jpg"><img style="BORDER-RIGHT: 0px; PADDING-RIGHT: 5px; BORDER-TOP: 0px; PADDING-LEFT: 5px; FLOAT: left; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="83" src="
http://www.derjasimo.de/bautagebuch/upl ... yThumb.jpg" width="110" /></a>
das Bild welches ich verschoben habe ist das vermesser001.jpg, leider hat er es an der fettgedruckten Stelle nicht angepasst, dafür aber überall anders
Gruss
Jan
Posted: Fri Aug 18, 2006 2:47 pm
by garvinhicking
Hi!
Tatsache, das wurde von dem Ausdruck noch nicht erschlagen.
Probier mal folgnedes:
Code: Select all
$q = "SELECT id, body, extended
FROM {$serendipity['dbPrefix']}entries
WHERE body REGEXP '(src=|href=|window.open.)(\'|\")(" . serendipity_db_escape_String($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . "|" . serendipity_db_escape_string($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ")'
OR extended REGEXP '(src=|href=|window.open.)(\'|\")(" . serendipity_db_escape_String($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . "|" . serendipity_db_escape_string($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ")'
";
$dirs = serendipity_db_query($q);
if (is_array($dirs)) {
foreach($dirs AS $dir) {
$dir['body'] = preg_replace('@(src=|href=|window.open.)(\'|")(' . preg_quote($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . '|' . preg_quote($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ')@', '\1\2' . $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $newDir, $dir['body']);
$dir['extended'] = preg_replace('@(src=|href=|window.open.)(\'|")(' . preg_quote($serendipity['baseURL'] . $serendipity['uploadHTTPPath'] . $oldDir) . '|' . preg_quote($serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $oldDir) . ')@', '\1\2' . $serendipity['serendipityHTTPPath'] . $serendipity['uploadHTTPPath'] . $newDir, $dir['extended']);
$uq = "UPDATE {$serendipity['dbPrefix']}entries
SET body = '" . serendipity_db_escape_string($dir['body']) . "' ,
extended = '" . serendipity_db_escape_string($dir['extended']) . "'
WHERE id = " . serendipity_db_escape_string($dir['id']);
serendipity_db_query($uq);
}
printf(MEDIA_DIRECTORY_MOVE_ENTRIES . '<br />', count($dirs));
}
Posted: Fri Aug 18, 2006 2:55 pm
by Jasi
Wow

Klasse, jetzt klappt es. 1000 Dank für die Hilfe.#
Gruss
Jan
Posted: Fri Aug 18, 2006 3:14 pm
by garvinhicking
Hi!
Na, das ist doch super! Danke für die Hilfe, ich werde das dann auch mal ins Repository übernehmen!
Viele Grüße,
Garvin