Hallo...
in Kürze ist mein neuestes Webprojekt fertig, eine Internetpräsenz für einen Zahnarzt, der sich auf Oralchirurgie spezialisiert hat.
Dabei ist ein passwortgeschützter Bereich entstanden, in dem sich andere überweisende Zahnärzte aus der Region einloggen können, um aktuelle Röntgenbilder einzusehen.
Täglich kurz vor Feierabend soll eine Praxis-Mitarbeiterin aktuelle Röntgenbilder (immer ca. 10-12 Aufnahmen) hochladen und in den geschützten Bereich einbinden. Die Aufnahmen der Röntgenkamera landen direkt auf einem Server in der Praxis und haben Bezeichnungen wie z.B.
6119-X-000002FE-4.JPG
Lade ich diese Datei nun in den Medienpool von Redaxo, wird daraus
6119_x_000002fe_4.jpg
Warum?!
Da eine Röntgenaufnahme 2-3 MB gross ist, würde ein Upload über den Medienpool wohl sowieso zu lange dauern. Mein Kunde wünscht sich eine möglichst zeitökonomische Lösung, da das Praxisteam oft unter grossem Zeitdruck arbeitet.
Nun war meine Idee ein externer Ordner auf dem Webserver und ein Upload der Bilder über FTP (ein FTP-Upload in den Files-Ordner ist bei den gegebenen Servereinstellungen nur durch Rechtemanipulation möglich, und danach funktioniert der Medienpool nichtm mehr...). Doch können in einem externen Verzeichnis die Bilder nicht über das ImageResize-Modul skaliert und gecacht werden oder?! Ich würde gerne Thumbnailansichten haben, sodass man man sich die Aufnahmen dann durch einem Klick vergrössern kann. Über einen weiteren Link soll man dann zur Originalgrösse gelangen.
Die Bilder sollen auf jeden Fall in Originalgrösse hochgeladen werden, damit andere Zahnärzte sich diese ggf. für eigene Zwecke herunterladen können.
Wie kann ImageResize auf Dateien in einem anderen Verzeichnis zugreifen?!
Oder hat jemand vielleicht einen eleganteren Lösungsvorschlag?
Viele Grüsse
Christian
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
-
- Beiträge: 146
- Registriert: 20. Mär 2007, 10:08
- Wohnort: Tampere/ Finnland
- Kontaktdaten: Website
- Richard.Laing
- Beiträge: 2105
- Registriert: 28. Aug 2005, 00:55
- Wohnort: Brühl / Rheinland
- Kontaktdaten: Website
hi
schau mal hier:
http://wiki.redaxo.de/index.php?n=Addon ... izeRexpath
nicht vergessen DATENSCHUTZ die Aufnahmen auch so unter zu bringen, das keiner ohne Erlaubniss da drann kommt.
gruß richy
schau mal hier:
http://wiki.redaxo.de/index.php?n=Addon ... izeRexpath
nicht vergessen DATENSCHUTZ die Aufnahmen auch so unter zu bringen, das keiner ohne Erlaubniss da drann kommt.
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de
Webseite www.on-laing.de smokezig.de www.smokezig.de
- Oliver.Kreischer
- Beiträge: 2508
- Registriert: 17. Dez 2004, 00:03
- Wohnort: Velbert - LA
- Kontaktdaten: Website
Das ist sicherlich der wichtigste Punkt. Nicht ganz trivial...Richard.Laing hat geschrieben:nicht vergessen DATENSCHUTZ die Aufnahmen auch so unter zu bringen, das keiner ohne Erlaubniss da drann kommt.
LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!
-
- Beiträge: 146
- Registriert: 20. Mär 2007, 10:08
- Wohnort: Tampere/ Finnland
- Kontaktdaten: Website
Hei,
danke für die schnellen Antworten. Für die sichere Unterbringung des vertraulichen Materials und Einhaltung des Datenschutzes ist bereits gesorgt.
Die Erweiterungsmöglichkeit des ImageResize-Addons unter
http://wiki.redaxo.de/index.php?n=Addon ... izeRexpath
ist ein interessanter Ansatz, allerdings würde ich gerne das Verzeichnis für die Röntgenaufnahmen NEBEN dem files-Ordner anlegen und nicht IM files-Ordner. Die Servereinstellungen unseres Providers sind leider so bescheuert, dass ich nur durch ständige Rechtemanipulation über FTP an den files-Ordner herankomme.
Weiss jemand ob man die class.thumbnail.inc.php auch so modifizieren kann, dass ImageResize auch auf ein Verzeichnis AUSSERHALB vom files-Ordner zugreifen kann?!
Viele Grüsse
Chris
danke für die schnellen Antworten. Für die sichere Unterbringung des vertraulichen Materials und Einhaltung des Datenschutzes ist bereits gesorgt.
Die Erweiterungsmöglichkeit des ImageResize-Addons unter
http://wiki.redaxo.de/index.php?n=Addon ... izeRexpath
ist ein interessanter Ansatz, allerdings würde ich gerne das Verzeichnis für die Röntgenaufnahmen NEBEN dem files-Ordner anlegen und nicht IM files-Ordner. Die Servereinstellungen unseres Providers sind leider so bescheuert, dass ich nur durch ständige Rechtemanipulation über FTP an den files-Ordner herankomme.
Weiss jemand ob man die class.thumbnail.inc.php auch so modifizieren kann, dass ImageResize auch auf ein Verzeichnis AUSSERHALB vom files-Ordner zugreifen kann?!
Viele Grüsse
Chris
- timo.huber
- Beiträge: 305
- Registriert: 22. Dez 2009, 13:26
Hallo,
habe das eben getestet, und es geht mit folgendem Zusatz:
Also insgesamt:
Du setzt quasi einen Platzhalter ein. Wenn dieser vorkommt wird der Pfad ersetzt. Das ist wichtig, da sonst jeder z.b. "../test" eingeben könnte, und jegliche Datei auf dem Server ausgelesen werden könnte.
Die URL sieht dann so aus:
Das erwartet dann folgende Ordnerstruktur:
- files
- redaxo
- test
index.php
_lizenz.txt
usw.
MFG
habe das eben getestet, und es geht mit folgendem Zusatz:
Code: Alles auswählen
switch ($rex_resize_path)
{
case "__PATH1__":
$rex_resize_path = "../test";
break;
}
Code: Alles auswählen
/* Bild-Quelle ggf. um Pfad erweitern. START */
$rex_resize_path = preg_replace('~[/]{2,}~', '/',
preg_replace(array('~[.]*~', '~^[/]*~', '~[/]*$~', ), '',
rex_get('rex_path', 'string')));
if (!empty($rex_resize_path)) {
/* neu */
switch ($rex_resize_path)
{
case "__PATH1__":
$rex_resize_path = "../test";
break;
}
/* ende neu */
$rex_resize_path .= '/';
$rex_resize = str_replace('/', '_', $rex_resize_path) . $rex_resize;
$imagefile = $rex_resize_path . $imagefile;
}
/* Bild-Quelle ggf. um Pfad erweitern. ENDE */
Die URL sieht dann so aus:
Code: Alles auswählen
index.php?rex_resize=100w__test.jpg&rex_path=__PATH1__
- files
- redaxo
- test
index.php
_lizenz.txt
usw.
MFG
$glaskugel = new rex_glaskugel();
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}
-
- Beiträge: 146
- Registriert: 20. Mär 2007, 10:08
- Wohnort: Tampere/ Finnland
- Kontaktdaten: Website
Hei,
vielen Dank für den Code - es funktioniert super!
Allerdings sollen die Röntgenaufnahmen immer als komplettes Verzeichnis in den Ordner "test" hochgeladen werden, sodass bald folgende Struktur entsteht:
test/ordner-1/roentgenbild-1
test/ordner-1/roentgenbild-2
test/ordner-1/roentgenbild-3
test/ordner-2/roentgenbild-4
test/ordner-2/roentgenbild-5
test/ordner-2/roentgenbild-6
usw.
Im Eingabemodul soll dann lediglich der Verzeichnisname ausgewählt werden, sodass alle Dateien dieses ausgewählten Verzeichnisses schliesslich im Frontend ausgegeben werden.
Lässt sich der Code noch so erweitern, dass quasi die URL
noch den Verzeichnisnamen (also "ordner-1", "ordner-2",... und natürlich nicht "test" wegen Schutz vor unbefugtem Zugriff) enthält?! Oder gibt es noch eine bessere Lösung?!
Ich wäre sehr dankbar für Hilfe. Meine PHP-Kenntnisse sind leider noch recht begrenzt...
Viele Grüsse
Christian
vielen Dank für den Code - es funktioniert super!
Allerdings sollen die Röntgenaufnahmen immer als komplettes Verzeichnis in den Ordner "test" hochgeladen werden, sodass bald folgende Struktur entsteht:
test/ordner-1/roentgenbild-1
test/ordner-1/roentgenbild-2
test/ordner-1/roentgenbild-3
test/ordner-2/roentgenbild-4
test/ordner-2/roentgenbild-5
test/ordner-2/roentgenbild-6
usw.
Im Eingabemodul soll dann lediglich der Verzeichnisname ausgewählt werden, sodass alle Dateien dieses ausgewählten Verzeichnisses schliesslich im Frontend ausgegeben werden.
Lässt sich der Code noch so erweitern, dass quasi die URL
Code: Alles auswählen
index.php?rex_resize=100w__test.jpg&rex_path=__PATH1__
Ich wäre sehr dankbar für Hilfe. Meine PHP-Kenntnisse sind leider noch recht begrenzt...
Viele Grüsse
Christian
- timo.huber
- Beiträge: 305
- Registriert: 22. Dez 2009, 13:26
Servus Christian,
so funktioniert das dann:
Die URL wird dann zu
bzw.
Pass aber echt in Sachen Datenschutz auf
Wer die URL sieht wird gerade dazu verleitet aus der 1 eine 2 zu machen
MFG
Timo
so funktioniert das dann:
Code: Alles auswählen
/* Bild-Quelle ggf. um Pfad erweitern. START */
$rex_resize_path = preg_replace('~[/]{2,}~', '/',
preg_replace(array('~[.]*~', '~^[/]*~', '~[/]*$~', ), '',
rex_get('rex_path', 'string')));
if (!empty($rex_resize_path)) {
/* neu */
switch ($rex_resize_path)
{
case "__ORDNER1__":
$rex_resize_path = "../test/ordner-1";
break;
case "__ORDNER2__":
$rex_resize_path = "../test/ordner-2";
break;
}
/* ende neu */
$rex_resize_path .= '/';
$rex_resize = str_replace('/', '_', $rex_resize_path) . $rex_resize;
$imagefile = $rex_resize_path . $imagefile;
}
/* Bild-Quelle ggf. um Pfad erweitern. ENDE */
Code: Alles auswählen
/index.php?rex_resize=300w__bild1.jpg&rex_path=__ORDNER1__
Code: Alles auswählen
/index.php?rex_resize=300w__bild1.jpg&rex_path=__ORDNER2__
Wer die URL sieht wird gerade dazu verleitet aus der 1 eine 2 zu machen
MFG
Timo
$glaskugel = new rex_glaskugel();
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}
-
- Beiträge: 146
- Registriert: 20. Mär 2007, 10:08
- Wohnort: Tampere/ Finnland
- Kontaktdaten: Website
Hei,
vielen Dank für die Antwort!
ich konnte das noch folgendermassen vereinfachen und es dabei noch variabilisieren:
Das hinter /* ende neu */ muss dann natürlich auch weg.
Es funktioniert super!
Das Ordner-1, Ordner-2 usw. war nur beispielhaft. Ich weiss ja nicht, wie die Ordner heissen, die in der Praxis hochgeladen werden, und wie viele es werden. Eine ewig lange case-Funktion macht wohl auch nicht wirklich Sinn.
Das Modul werde ich dann so gestalten, dass man nur noch den Ordnernamen eingeben muss, um die darin enthaltenen Aufnahmen im Frontend auszugeben.
viele Grüsse
Chris
vielen Dank für die Antwort!
ich konnte das noch folgendermassen vereinfachen und es dabei noch variabilisieren:
Code: Alles auswählen
/* neu */
$rex_resize_path_end = preg_replace('/__/', "",$rex_resize_path);
$rex_resize_path = "../test/".$rex_resize_path_end."/";
/* ende neu */
Code: Alles auswählen
$rex_resize_path .= '/';
Es funktioniert super!
Das Ordner-1, Ordner-2 usw. war nur beispielhaft. Ich weiss ja nicht, wie die Ordner heissen, die in der Praxis hochgeladen werden, und wie viele es werden. Eine ewig lange case-Funktion macht wohl auch nicht wirklich Sinn.
Das Modul werde ich dann so gestalten, dass man nur noch den Ordnernamen eingeben muss, um die darin enthaltenen Aufnahmen im Frontend auszugeben.
viele Grüsse
Chris
- timo.huber
- Beiträge: 305
- Registriert: 22. Dez 2009, 13:26
Servus,
ja, so ist es einfacher, aber meine Ausführung hatte doch einen Sinn
So kann man nämlich jeden beliebigen Ordner aufrufen, der da existiert.
Was hintert den Benutzer "Ordner__" einzugeben?
Dann ersetzt du zwar die Unterstriche, aber ruft einen eventuell nicht vorhandenen Ordner auf.
Ein weiterer Punkt ist, dass, wenn sich die Ordner ändern, du auch die URL ändern musst.
Wenn du meine Lösung nimmst, bleibt der Platzhalter, und du kannst den Zielordner in der PHP Datei ändern.
Wollte dir das hiermit nur auf den Weg geben
MFG
Timo
ja, so ist es einfacher, aber meine Ausführung hatte doch einen Sinn
So kann man nämlich jeden beliebigen Ordner aufrufen, der da existiert.
Was hintert den Benutzer "Ordner__" einzugeben?
Dann ersetzt du zwar die Unterstriche, aber ruft einen eventuell nicht vorhandenen Ordner auf.
Ein weiterer Punkt ist, dass, wenn sich die Ordner ändern, du auch die URL ändern musst.
Wenn du meine Lösung nimmst, bleibt der Platzhalter, und du kannst den Zielordner in der PHP Datei ändern.
Wollte dir das hiermit nur auf den Weg geben
MFG
Timo
$glaskugel = new rex_glaskugel();
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}
-
- Beiträge: 146
- Registriert: 20. Mär 2007, 10:08
- Wohnort: Tampere/ Finnland
- Kontaktdaten: Website