HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum |
 

 
 

Anzeige 
 
               Forum
 
 
HTMLWorld » Forum

Thumbnail automatisch beim bildupload erstellen - PHP Forum

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Thumbnail automatisch beim bildupload erstellen

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   PHP
Vorheriges Thema: Dateigröße der Schriftart beim Bilderstellen
Nächstes Thema: Menalto Gallerie - Problem bei Installation  
Autor Nachricht
marck48
Häufiger Poster


Anmeldungsdatum: 10.02.2009
Beiträge: 25
Wohnort: Eberswalde

BeitragVerfasst am: 21.04.2009 09:10:46    Titel: Thumbnail automatisch beim bildupload erstellen Antworten mit Zitat

Hallo,
ich hab wieder eine Frage :
Durch welche veränderungen bekomme ich es hin, das beim Bild-upload automatisch ein Thumbnail in ein extra Verzeichnis erstellt wird...
ich bin immernoch anfänger und würde mich über jede hilfe sehr freuen
vielen dank
marck

das script für den upload
[code:1]
<?php
{
if($_FILES['userfile']['tmp_name'])

{
$file = $_FILES['userfile']['tmp_name'];
$filesize = $_FILES['userfile']['size'];
$path = "../fotos/";


//Type abfangen
$filetype = $_FILES['userfile']['type'];

switch($filetype)
{
case "image/pjpeg":
$type = ".jpg";
break;

case "image/gif":
$type = ".gif";
break;

case "image/jpeg":
$type = ".jpg";
break;

case "image/x-png":
$type = ".png";
break;
//usw.
}

//anzahl der dateien im Verzeichnis
$all_files = count(scandir($path)) - 2;



//Jetzt individuellen Namen für das Bild generieren
$myFilename = "bild_".$all_files.$type;


if (!file_exists($path.$myFilename))
{
if(!copy($file,$path.$myFilename))
echo "Konnte nicht speichern.";
else
echo "Gespeichert.";
}
else
{
echo "Foto schon vorhanden.";
}

}
[/code:1]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Simon
Häufiger Poster


Anmeldungsdatum: 03.05.2005
Beiträge: 195
Wohnort: Schweiz

BeitragVerfasst am: 21.04.2009 19:05:08    Titel: Antworten mit Zitat

Dafür musst Du auf die Library php_gd.dll zugreifen.
Ein einfaches Tutorial gibts hier (auch für Anfänger Smile )

http://www.php-resource.de/tutorials/read/24/1/

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
marck48
Häufiger Poster


Anmeldungsdatum: 10.02.2009
Beiträge: 25
Wohnort: Eberswalde

BeitragVerfasst am: 23.04.2009 08:29:08    Titel: Thumbnail automatisch beim bildupload erstellen Antworten mit Zitat

Hallo
vielen Dank für die Antwort...
kann ich dieses script aus dem oben genannten Tutorial einfach an meins anhängen das die Thumbnails beim uploaden erzeugt werden?
Die Originalfotos werden in das Verzeichnis fotos/ kopiert und die Thumbnails sollen mit dem gleichen namen in fotos/cache/ kopiert werden.
Gruß
marck
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
marck48
Häufiger Poster


Anmeldungsdatum: 10.02.2009
Beiträge: 25
Wohnort: Eberswalde

BeitragVerfasst am: 24.04.2009 15:33:26    Titel: Thumbnail automatisch beim bildupload erstellen Antworten mit Zitat

Hallo,
das mit dem thumbnails hab ich jetzt hin bekommen danke für den tip nochmal.
Jetzt würde ich noch gern das script weiter oben zum upload von mehreren bildern gleichzeitig benutzen...
weiß aber leider nicht wie ich das ändern kann...
vielleicht kann mir da jemand helfen.
Danke und Gruß
marck
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Simon
Häufiger Poster


Anmeldungsdatum: 03.05.2005
Beiträge: 195
Wohnort: Schweiz

BeitragVerfasst am: 25.04.2009 20:07:03    Titel: Antworten mit Zitat

Windows verbietet dir den upload von mehreren Dateien gleichzeitig.
Einzige Möglichkeit: Lade die Bilder als Zip-Archiv hoch und entpacke es online.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
marck48
Häufiger Poster


Anmeldungsdatum: 10.02.2009
Beiträge: 25
Wohnort: Eberswalde

BeitragVerfasst am: 29.04.2009 07:59:04    Titel: Thumbnail automatisch beim bildupload erstellen Antworten mit Zitat

Hallo,

hier auf der Seite bei "php,Java und Co" -->"php-Beispiele wird beschrieben wie man mehrere Bilder gleichzeitig uploaden kann mit mehreren input-feldern im html-formular ich bekomme es nur nicht hin es auf mein Script zu übertragen. Ich habe es mal weiter unten angezeigt

[code:1]
<?php
{
if($_FILES['userfile']['tmp_name'])

{
$file = $_FILES['userfile']['tmp_name'];
$filesize = $_FILES['userfile']['size'];
$path = "../fotos/";


//Type abfangen
$filetype = $_FILES['userfile']['type'];

switch($filetype)
{
case "image/pjpeg":
$type = ".jpg";
break;

case "image/gif":
$type = ".gif";
break;

case "image/jpeg":
$type = ".jpg";
break;

case "image/x-png":
$type = ".png";
break;
//usw.
}

//anzahl der dateien im Verzeichnis
$all_files = count(scandir($path)) - 2;



//Jetzt individuellen Namen für das Bild generieren
$myFilename = "bild_".$all_files.$type;


if (!file_exists($path.$myFilename))
{
if(!copy($file,$path.$myFilename))
echo "Konnte nicht speichern.";
else
echo "Gespeichert.";
}
else
{
echo "Foto schon vorhanden.";
}

}


//thumbnail erstellen


$path="../fotos/";
$PicPathOut="../fotos/cache/";

// Orginalbild


// Bilddaten ermitteln
$size= GetImageSize("$path"."$myFilename");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100;
$neueHoehe= intval($hoehe*$neueBreite/$breite);

if($size[2]==1) {
// GIF
$altesBild= imagecreatefromgif("$path"."$myFilename");
$neuesBild= imagecreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
imageGIF($neuesBild,"$PicPathOut"."$myFilename");
}

if($size[2]==2) {
// JPG
$altesBild= ImageCreateFromJPEG("$path"."$myFilename");
$neuesBild= imagecreatetruecolor($neueBreite,$neueHoehe);
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."$myFilename");
}

if($size[2]==3) {
// PNG
$altesBild= ImageCreateFromPNG("$path"."$myFilename");
$neuesBild= imagecreatetruecolor($neueBreite,$neueHoehe);
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild,"$PicPathOut"."$myFilename");
}

[/code:1]

Ich würde mich sehr freuen wenn mir jemand helfen könnte
Gruß
marck
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Frosty
Häufiger Poster


Anmeldungsdatum: 27.10.2008
Beiträge: 221

BeitragVerfasst am: 29.04.2009 09:22:33    Titel: Antworten mit Zitat

Ahoi,

hier hast du eine Möglichkeit:

[code:1]<?php
if($_FILES['userfile']['tmp_name'])
{
$file = $_FILES['userfile']['tmp_name'];
$filesize = $_FILES['userfile']['size'];
$path = "../fotos/";

//Type abfangen
$filetype = $_FILES['userfile']['type'];

switch($filetype)
{
case "image/pjpeg":
$type = ".jpg";
break;

case "image/gif":
$type = ".gif";
break;

case "image/jpeg":
$type = ".jpg";
break;

case "image/x-png":
$type = ".png";
break;
//usw.
}

//anzahl der dateien im Verzeichnis
$all_files = count(scandir($path)) - 2;

//Jetzt individuellen Namen für das Bild generieren
$myFilename = "bild_".$all_files.$type;

if (!file_exists($path.$myFilename))
{
if(!copy($file,$path.$myFilename))
echo "Konnte nicht speichern.";
else
//Jetzt das Bild herunterskalieren für das Thumb
$bild_location = $path.$myFilename;
$save_name = "../fotos/cache/".$myFilename;
resize($bild_location, $save_name, 50);

echo "Gespeichert.";
}
else
{
echo "Foto schon vorhanden.";
}
}

/** FUNKTION: Bilder auf eine bestimmte Größe skalieren **/
function resize($file, $save, $width, $height=false)
{
if(!$height)
$height = $width;

$infos = @getimagesize($file);

$iWidth = $infos[0];
$iHeight = $infos[1];
$iRatioW = $width / $iWidth;
$iRatioH = $height / $iHeight;

if($iRatioW < $iRatioH)
{
$iNewW = $iWidth * $iRatioW;
$iNewH = $iHeight * $iRatioW;
}
else
{
$iNewW = $iWidth * $iRatioH;
$iNewH = $iHeight * $iRatioH;
} // if

if($infos[2] == 1)
$imgA = @imagecreatefromgif($file);
elseif($infos[2] == 2)
$imgA = @imagecreatefromjpeg($file);
elseif($infos[2] == 3)
$imgA = @imagecreatefrompng($file);


$imgB = @imagecreatetruecolor($iNewW, $iNewH);

if(!$imgB)
$imgB = @imagecreate($iNewW, $iNewH);

if(!@imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW, $iNewH, $infos[0], $infos[1]))
@imagecopyresized($imgB, $imgA, 0, 0, 0, 0, $iNewW, $iNewH, $infos[0], $infos[1]);

$re = null;
umask(0000);

if($infos[2] == 1)
$re = imagegif($imgB, $save);
elseif($infos[2] == 2)
$re = imagejpeg($imgB, $save, 100);
else
$re = imagepng($imgB, $save);

return true;
}
?>[/code:1]

LG
Frost
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Frosty
Häufiger Poster


Anmeldungsdatum: 27.10.2008
Beiträge: 221

BeitragVerfasst am: 29.04.2009 09:35:28    Titel: Antworten mit Zitat

Oh, sorry hab nicht gelesen: Du möchtest ja mehrfachupload.
Dann sollte es so in etwa aussehen. Beachte das Formular ganz unten!!!!!

[code:1]<?php
//Alle gesendeten Bilder durchlaufen
for($i=1;$i<=3;$i++)
{
$userfile_name = "userfile_".$i;

if($_FILES[$userfile_name]['tmp_name'])
{
$file = $_FILES[$userfile_name]['tmp_name'];
$filesize = $_FILES[$userfile_name]['size'];
$path = "../fotos/";

//Type abfangen
$filetype = $_FILES[$userfile_name]['type'];

switch($filetype)
{
case "image/pjpeg":
$type = ".jpg";
break;

case "image/gif":
$type = ".gif";
break;

case "image/jpeg":
$type = ".jpg";
break;

case "image/x-png":
$type = ".png";
break;
//usw.
}

//anzahl der dateien im Verzeichnis
$all_files = count(scandir($path)) - 2;

//Jetzt individuellen Namen für das Bild generieren
$myFilename = "bild_".$all_files.$type;

if (!file_exists($path.$myFilename))
{
if(!copy($file,$path.$myFilename))
echo "Konnte nicht speichern.";
else
//Jetzt das Bild herunterskalieren für das Thumb
$bild_location = $path.$myFilename;
$save_name = "../fotos/cache/".$myFilename;
resize($bild_location, $save_name, 50);

echo "Gespeichert.";
}
else
{
echo "Foto schon vorhanden.";
}
}
}

/** FUNKTION: Bilder auf eine bestimmte Größe skalieren **/
function resize($file, $save, $width, $height=false)
{
if(!$height)
$height = $width;

$infos = @getimagesize($file);

$iWidth = $infos[0];
$iHeight = $infos[1];
$iRatioW = $width / $iWidth;
$iRatioH = $height / $iHeight;

if($iRatioW < $iRatioH)
{
$iNewW = $iWidth * $iRatioW;
$iNewH = $iHeight * $iRatioW;
}
else
{
$iNewW = $iWidth * $iRatioH;
$iNewH = $iHeight * $iRatioH;
} // if

if($infos[2] == 1)
$imgA = @imagecreatefromgif($file);
elseif($infos[2] == 2)
$imgA = @imagecreatefromjpeg($file);
elseif($infos[2] == 3)
$imgA = @imagecreatefrompng($file);


$imgB = @imagecreatetruecolor($iNewW, $iNewH);

if(!$imgB)
$imgB = @imagecreate($iNewW, $iNewH);

if(!@imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW, $iNewH, $infos[0], $infos[1]))
@imagecopyresized($imgB, $imgA, 0, 0, 0, 0, $iNewW, $iNewH, $infos[0], $infos[1]);

$re = null;
umask(0000);

if($infos[2] == 1)
$re = imagegif($imgB, $save);
elseif($infos[2] == 2)
$re = imagejpeg($imgB, $save, 100);
else
$re = imagepng($imgB, $save);

return true;
}
?>
<form action="" method="post" enctype="multipart/form-data">
Bilder:
<input type="file" name="userfile_1"><br />
<input type="file" name="userfile_2"><br />
<input type="file" name="userfile_3">
<input type="submit" name="new_image" value="OK">
</form> [/code:1]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   PHP
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge HTML-Codes selbst erstellen HTMLWorld100 HTML 4 13.07.2011 12:39:27 Letzten Beitrag anzeigen
Keine neuen Beiträge Formular erstellen in Expression Web ... dermundl HTML 0 19.06.2011 14:08:16 Letzten Beitrag anzeigen
Keine neuen Beiträge Tabellenzeile automatisch umbrechen CaptnSEBi HTML 0 28.04.2011 14:51:09 Letzten Beitrag anzeigen
Keine neuen Beiträge Nächster Datensatz ... Button erstellen WinniPuh MySQL 0 02.03.2011 20:08:31 Letzten Beitrag anzeigen
Keine neuen Beiträge Kontaktformular mit htm erstellen firefighter HTML 8 10.04.2010 18:11:36 Letzten Beitrag anzeigen