thumbs werden nicht angezeigt
damug
- php
hallo,
bin am verzweifeln. die thumbs die von meinem script erstellt werden werden auf der seite später einfach nicht, bzw. durch ein kaputtes img. icon angezeigt.
hier der link zur seite die gemeint ist: <a href="http://damug.da.funpic.de/indexI.html"> bitte anschaun</a>
folgendes php scrip sollte eigentlich auch die thumb bilder vorschau anzeigen...
!script!
<?php
function get_files($path, $opt = "", $pathadd = "") {
$return = array();
foreach(get_path_content($path) as $p) if(is_file("$path/$p")) $return[ ] = $p;
return $return;
}
function get_dirs($path) {
$return = array();
foreach(get_path_content($path) as $p) if(is_dir("$path/$p")) $return[ ] = $p;
return $return;
}
function get_path_content($path) {
$verzeichnishandle = @opendir("$path");
rewinddir($verzeichnishandle);
$files = array();
while ($file = readdir($verzeichnishandle)) {
if($file != "." and $file != "..") array_push($files, "$file");
}
sort($files);
return $files;
}
function create_thumb($imagefile, $width, $height) {
if(file_exists("/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/thumbs/" . $imagefile)) return false;
$Img = imageCreateFromJPEG("/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/" . $imagefile);
$oBreite = imageSX($Img);
$oHöhe = imageSY($Img);
$nBreite = $oBreite / 8;
$nHöhe = $oHöhe / 8;
$nBreite = floor($nBreite);
$nHöhe = floor($nHöhe);
$Out = imageCreateTrueColor($nBreite, $nHöhe);
imageCopyResampled($Out, $Img, 0, 0, 0, 0, $nBreite, $nHöhe, $oBreite, $oHöhe);
imageJPEG($Out, "/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/thumbs/" . $imagefile);
return true;
}
foreach(get_files("/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/")as $filename) {
create_thumb($filename, 100, 75);
echo "<img width:100px; hight:75px; src="/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/thumbs/$filename" />";
}
?>
!/script!
oder findet ihr da den fehler der meine seite so ausschaun lässt? ich find keinen :(
PLZ HELP
echo "<img width:100px; hight:75px; src="/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/thumbs/$filename"
Irgendwie schlecht vorstellbar, dass diese relative Adresse für einen Weblink korrekt sein kann.
Zum vergleich eine verfügbare Bildadresse:
http://damug.da.funpic.de/bilder/Logo.png
grob geschätzt meinst du vielleicht:
http://damug.da.funpic.de/bilder/Garten/Blumen/thumbs/$filename
mfg Beat
echo "<img width:100px; hight:75px; src="/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/thumbs/$filename"
Irgendwie schlecht vorstellbar, dass diese relative Adresse für einen Weblink korrekt sein kann.
Zum vergleich eine verfügbare Bildadresse:
http://damug.da.funpic.de/bilder/Logo.png
grob geschätzt meinst du vielleicht:
http://damug.da.funpic.de/bilder/Garten/Blumen/thumbs/$filenamemfg Beat
joa, so gehts:
..
echo "<img width:100px; hight:75px; src="../bilder/Garten/Blumen/thumbs/$filename" />";
..
nur warum versteh ich nicht.
in der funktion:
function create_thumb($imagefile, $width, $height) { if(file_exists("/usr/export/www/vhosts/funnetwork/hosting/damug/bilder/Garten/Blumen/thumbs/" . $imagefile)) return false;
musste ich es ja auch so angeben da gings wieder andersrum nicht. wo liegt da der hund begraben?
musste ich es ja auch so angeben da gings wieder andersrum nicht. wo liegt da der hund begraben?
Weist du, der Teufel greift auf das Filesystem zu und sieht das, was real dort ist. Nur der Oberteufel kann ihm gewisse Zugriffe in diesem Filesystem verbieten.
Gott aber wird, wenn er http://dingsbums.example/ eingibt, von einem Webserver trickreich umgeleitet auf dein html-root. Er hat keine Möglichkeit zu sehen, was an der Wurzel dieser Wurzel noch ist.
mfg Beat
Hi,
nur warum versteh ich nicht.
die Server-Software arbeitet auf einem Rechner. Sie hat Zugriff auf das Dateisystem, und sie führt in Deinem Script Dateioperationen durch. Die Dateinamen und -pfade sind relevant.
Ein HTTP-Client (etwa ein Browser) läuft *nicht* auf dem Rechner, auf dem sich die Server-Software befindet. Er hat auch keinerlei Zugriff darauf. Er kennt keine Dateinamen, sie sind ihm auch egal. Den Client interessiert nur die URL, die er dem Server übermittelt. Nur dieser weiß, ob die URL mit irgendwelchen Dateien verknüpft sind oder nicht, und wenn ja wo diese liegen. Dateinamen und -pfade sind *nicht* relevant.
In einem System, mit dem ich gerade entwickele, lautet eine mögliche URL "http://example.net/prod/hp/webde/home/index.html". Im Dateisystem existiert ein Verzeichnis ".../prod/hp/", in welchem sich *kein* Verzeichnis "webde" befindet. Statt dessen gibt es z.B. "_templates/content-index.html" sowie diverse Dateien in "_modules/home/", "_modules/home/webde/" und "_modules/webde/", die zu der endgültigen Seite führen. Auch CSS-Ressourcen, die z.B. als "http://example.net/prod/hp/webde/home/css/content.css" verlinkt sind, liegen nicht unter ".../prod/hp/webde/home/css/", sondern unter ".../prod/hp/css/home/webde/" und ähnlichem.
Warum ich Dir dieses (scheinbare) Chaos erzähle? Ganz einfach: URLs haben
*** NICHTS ***
mit Dateien zu tun. Wann immer man dieser Vermutung erliegt, begeht man einen potenziell schwerwiegenden Fehler. Deswegen sollte man es von Anfang an strikt trennen.
Cheatah