mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 14:52 Benutzername: Passwort: Auto-Login

Thema: PHP – Bild beim Upload skalieren vom 22.02.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP – Bild beim Upload skalieren
Seite: 1, 2, 3, 4, 5, 6  Weiter
Autor Nachricht
chrigi78
Threadersteller

Dabei seit: 10.10.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 22.02.2008 15:52
Titel

PHP – Bild beim Upload skalieren

Antworten mit Zitat Zum Seitenanfang

Hallo

Ich habe hier ein kleines PHP-Skript, mit dem ich ein Bild uploaden und den Pfad in eine SQL-Datenbank speichern kann. Nun möchtet ich das Bild aber nicht 1:1 uploaden, sondern direkt beim Uploaden die Grösse auf z.B. 500px Breite verkleinern. Wie geht das? Was muss ich wo hinzufügen?

Vielen Dank & gutes Wochenende





Code:
<?php

//This is the directory where images will be saved
$target = "uploads/";
$target = $target . basename( $_FILES['photo']['name']);

//This gets all the other information from the form
$name=$_POST['name'];
$email=$_POST['email'];
$phone=$_POST['phone'];
$pic=($_FILES['photo']['name']);

// Connects to your Database
mysql_connect("localhost", "root", "root") or die(mysql_error()) ;
mysql_select_db("raumart") or die(mysql_error()) ;

//Writes the information to the database
mysql_query("INSERT INTO `fundgrube` VALUES ('', '$name', '$email', '$phone', '$pic')") ;

//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}
else {

//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>


[edit by Nimroy]
Bitte [code]-Tags verwenden.


Zuletzt bearbeitet von Nimroy am Fr 22.02.2008 16:27, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Fr 22.02.2008 16:14
Titel

Antworten mit Zitat Zum Seitenanfang

hab hier ne kleine funktion allerdings nur für jpegs.
die musst du nur noch nachm "//Tells you if its all ok" einbinden *zwinker*

Code:

function createThumb($img_src) {
      $img_pixel = 500;
      $im = imagecreatefromjpeg($img_src);
      list($src_width, $src_height) = getimagesize($img_src);
     
         $new_image_height = $img_pixel;
         $new_image_width = $src_width * $img_pixel / $src_height;
     
      $new_image = imagecreatetruecolor($new_image_width, $new_image_height);
      imagecopyresized($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
      if (imagejpeg($new_image, "uploads/500copy_" .basename($img_src), 90))
      {
          echo "Thumbnail: uploads/500copy_".basename($img_src)." erfolgreich erstellt...<br />";
       
      }
   }
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
chrigi78
Threadersteller

Dabei seit: 10.10.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 22.02.2008 16:34
Titel

Antworten mit Zitat Zum Seitenanfang

Merci schon mal für die Antwort, hat leider nicht geklappt.

Ich habe die Funktion zwischen die Zeilen "//Tells you.." und "echo "The file "..." eingebunden.
Muss ich noch etwas an der Funktion umschreiben oder anpassen? Habe übrigens ein jpg genommen.
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Fr 22.02.2008 16:46
Titel

Antworten mit Zitat Zum Seitenanfang

du musst nicht die funktion dort einbinden, sondern deren aufruf *zwinker*
also funktion an den anfang des scriptes, und zwischen tells you dann den auruf.

ach...
Code:

<?php
function createThumb($img_src) {
      $img_pixel = 500;
      $im = imagecreatefromjpeg($img_src);
      list($src_width, $src_height) = getimagesize($img_src);
     
         $new_image_height = $img_pixel;
         $new_image_width = $src_width * $img_pixel / $src_height;
     
      $new_image = imagecreatetruecolor($new_image_width, $new_image_height);
      imagecopyresized($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
      if (imagejpeg($new_image, "uploads/500copy_" .basename($img_src), 90))
      {
          echo "Thumbnail: uploads/500copy_".basename($img_src)." erfolgreich erstellt...<br />";
       
      }
   }

//This is the directory where images will be saved
$target = "uploads/";
$target = $target . basename( $_FILES['photo']['name']);

//This gets all the other information from the form
$name=$_POST['name'];
$email=$_POST['email'];
$phone=$_POST['phone'];
$pic=($_FILES['photo']['name']);

// Connects to your Database
mysql_connect("localhost", "root", "root") or die(mysql_error()) ;
mysql_select_db("raumart") or die(mysql_error()) ;

//Writes the information to the database
mysql_query("INSERT INTO `fundgrube` VALUES ('', '$name', '$email', '$phone', '$pic')") ;

//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";

createThumb($target);
}
else {

//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Fr 22.02.2008 16:53
Titel

Antworten mit Zitat Zum Seitenanfang

hier haste ne kleine klasse zum resizen. Beispielimplementierung steht drunter. Das ding macht auch gif und png

klick

Ich gebe zu das ding hätte ich besser schreiben können...aber für seine zwecke dürfte es reichen und mich hat es nie im stich gelassen. von daher...
  View user's profile Private Nachricht senden
chrigi78
Threadersteller

Dabei seit: 10.10.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 22.02.2008 16:54
Titel

Antworten mit Zitat Zum Seitenanfang

An pixelpapst: Ich mache mich selbst nur ungern zum Narren... das Ding funktioniert immer noch nicht.
Diesmal habe ich das alte Script einfach mit dem neuen ersetzt.

An pixelpole: Versuche ich gleich


Zuletzt bearbeitet von chrigi78 am Fr 22.02.2008 16:55, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Fr 22.02.2008 17:03
Titel

Antworten mit Zitat Zum Seitenanfang

ganz vergessen. du brauchst noch ne ini datei mit diesem inhalt für die fehlermeldungen:

Code:

;;;;;;;;;;;;;;;;;;
;;ERROR_MESSAGES;;
;;;;;;;;;;;;;;;;;;

[image_resizer]
1 = die angegebene Datei existiert nicht
2 = der Dateityp wird nicht unterstützt
3 = Diese Datei ist keine gültige Bilddatei
4 = Die Datei ist zu groß


Den Pfad dazu findest du in der variable $error_ini

den müsstest du natürlich noch anpassen.
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Fr 22.02.2008 17:03
Titel

Antworten mit Zitat Zum Seitenanfang

feine klasse... *zwinker*

musst aber noch die errors.ini rauswühlen Grins

Zitat:

das Ding funktioniert immer noch nicht.


... das ist keine fehlermeldung *zwinker*


edit: zu langsam (errors.ini) *zwinker*


Zuletzt bearbeitet von pixelpapst303 am Fr 22.02.2008 17:04, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Blog Script mit Bild upload
phpMyAdmin Datenbank --> Bild-upload
pdf dokument mit bild upload funktion erstellen?
PHP Upload-Forumlar - lädt Bild nicht hoch
Photoshop: Bild skalieren?
[flash] hintergrund bild/mc skalieren
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4, 5, 6  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.