php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.03.2006, 17:19  
Kein Genie
Gast
 
Beiträge: n/a
Standard Erstellen eines Uploadscripts

Hallo,

ich möchte gerne ein Uploadscript erstellen. Mit diesem Script, soll dem User erlaubt sein Avatare hochzuladen.
Die Bedingungen sind, dass das Bild entweder im gif, jpeg oder jpg vorliegt.
Außerdem soll das Script das Bild automatisch auf eine Größe von 100 px x 100 px verkleinern.
Es soll dann unter folgenden Namen gespeichert werden: avatar_username.format.
Also, den <form> Teil bekomme ich selber hin. Außerdem bekomme ich den Teil auch hin, wo das Bild gespeichert werden soll.
Was ich nicht hin bekomme, ist die Größe des Bildes zu verändern und den Namen des Bildes zu verändern.
Und zu üerprüfen welches Format das Bild ist.
Wie stelle ich diesen Teil an?

Hier die phpinfo() von meinem Server http://newwarrior.milten.lima-city.de/info.php

Danke

PS: Hoffe ich habe die Fragen richtig gestellt.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.03.2006, 19:10  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Ein erster Start wäre das Anschauen der jeweiligen PHP-Funktionen, dort sind teilweise Beispiele.

http://www.php.net/move_uploaded_file
http://www.php.net/getimagesize
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 19.03.2006, 19:35  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Ich habe so ein kleines Problem beim erstellen des Scripts.
Ich habe erstmal versucht, mit move_uploaded_file eine Datei zu verschieben.
Aber ich habe ich bekomme folgende Fehlermeldung:

Notice: Undefined index: file in D:\xampp\xampp\htdocs\check.php on line 6

Wenn ich die richtig verstehe, dann sagt er mir das nichts in dem Index file enthalten ist oder er den Inhalt nicht verstehen kann.

Die Zeile 6 sieht so bei mir aus:
PHP-Code:
<?php
move_uploaded_file
($_POST['file'],'htdocs/images/');
?>
Meine Forlmular Daten sehen so aus:

Code:
<form action="check.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="senden">
</form>
Ich denke mal, das es am $_POST liegt.
Aber vielleicht könnt ihr mir helfen, ich kann nicht verstehen, warum er kein Dateninhalt hat?
 
Alt 19.03.2006, 19:36  
Gast
 
Beiträge: n/a
Standard

http://de2.php.net/features.file-upload zeigt, wie der Dateiupload zu behandeln ist.
 
Alt 19.03.2006, 19:52  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Ok, jetzt habe ich es nochmal überarbeitet.

PHP-Code:
<?php
error_reporting
(E_ALL);

$uploaddir 'htdocs/';

//je nach Dateityp ändert sich die Endung

if($_FILES['file']['type'] == 'image/gif')
{
$name 'avatar_malte.gif';
}

if(
$_FILES['file']['type'] == 'image/jpeg')
{
$name 'avatar_malte.jpeg';
}

if(
$_FILES['file']['type'] == 'image/jpg')
{
$name 'avatar_malte.jpg';
}

//Speichern des Bildes im Verzeichniss

print "<pre>";
if (
move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir $name)) {
   echo
'[img]'.$uploaddir $name.'[/img]';
} else {
   print 
"Nichts hat geklappt\n";
}
?>
Alles klar, ich habe eine *.jpeg Datei ausgewählt.
Aber jetzt bekomme ich die Meldung, das er hier:

PHP-Code:
<?php
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir $name)) {
   echo
'[img]'.$uploaddir $name.'[/img]';
?>
die Variable $name nicht kennt.
Das verstehe ich nicht, denn ich habe ja eigentlich oben gesagt, wenn es eine jpeg Datei ist was in der Variablen stehen soll.
Könntet ihr mir vielleicht mal einen Tipp geben, wo ich meinen Fehler habe?

Danke
 
Alt 19.03.2006, 19:58  
Gast
 
Beiträge: n/a
Standard

$name wird gesetzt, wenn
- if($_FILES['file']['type'] == 'image/gif') oder
- if($_FILES['file']['type'] == 'image/jpeg') oder
- if($_FILES['file']['type'] == 'image/jpg')

$name wird aber nicht gesetzt. Was ist ist also wohl passiert?
 
Alt 19.03.2006, 20:02  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Die Datei ist kein jpeg, jpg, gif.

Habe den Fehler gefunden.
Danke.
 
Alt 19.03.2006, 20:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dann ist $name nicht definiert, was darauf schließen läßt das keine einzige deiner Bedingungen oben wahr ist.
Warum läßt du dir dann nicht die Werte dieser Bedingungen ausgeben?

Außerdem würde ich ein getimagesize() versuchen.
http://de.php.net/getimagesize
Zitat:
Index 2 is a flag indicating the type of the image: 1 = GIF, 2 = JPG, [..]. These values correspond to the IMAGETYPE constants that were added in PHP 4.3.0.
Die Konstantenwerte die für dich wichtig wären sind:
Zitat:
1 IMAGETYPE_GIF
2 IMAGETYPE_JPEG
PHP-Code:
<?php
$info 
getimagesize($avatar);
if (
$info[2] == IMAGETYPE_GIF || $info[2] == IMAGETYPE_JPEG) {
  
// grafik in richtigem Format
}
?>
Zergling-new ist offline  
Alt 19.03.2006, 20:13  
Gast
 
Beiträge: n/a
Standard

Zitat:
if($_FILES['file']['type'] == 'image/jpeg') oder
pjpeg nicht vergessen (benutzt der IE)
Bevor die nächste Frage kommt.
 
Alt 19.03.2006, 20:27  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Also ich habe es jetzt so gemacht:

PHP-Code:
<?php
<?php
error_reporting
(E_ALL);

if(
$_FILES['file']['type'] == 'image/gif' OR $_FILES['file']['type'] == 'image/jpg' OR $_FILES['file']['type'] == 'image/jpeg' OR $_FILES['file']['type'] == 'image/pjpeg')
{
$uploaddir 'htdocs/';

if(
$_FILES['file']['type'] == 'image/gif')
{
$name 'avatar_malte.gif';
}

if(
$_FILES['file']['type'] == 'image/pjpeg')
{
$name 'avatar_malte.jpeg';
}

if(
$_FILES['file']['type'] == 'image/jpeg')
{
$name 'avatar_malte.jpeg';
}

if(
$_FILES['file']['type'] == 'image/jpg')
{
$name 'avatar_malte.jpg';
}

print 
"<pre>";
if (
move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir $name)) {
   echo
'[img]'.$name.'[/img]';
} else {
   print 
"Nichts hat geklappt\n";
}
}
else
{
  echo 
'Es dürfen nur Bilddateien mit den Formaten jpeg, jpg und gif hochgeldaen werden.';
}

?>
?>
Und es klappt alles super, jetzt werde ich mich noch daran versuchen, die Größe des Bildes zu ändern.
Bisher hierher schonmal danke.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Instanz einer Klasse mit unbekanntem Namen erstellen PHP Tipps 2005 4 06.02.2009 14:39
aus PHP eine MS Access DB erstellen dh1sbg PHP-Fortgeschrittene 2 10.03.2008 10:15
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Info Seite erstellen Galrian PHP Tipps 2008 1 18.01.2008 15:17
Thumbnail mit genauer Größe erstellen Simon9990 PHP Tipps 2008 9 23.08.2007 05:22
darf keine Datenbank erstellen in phpMyAdmin Datenbanken 2 20.10.2005 19:32
Login Bereich erstellen nicobischof PHP Tipps 2005-2 2 17.10.2005 21:40
PHP-Bild direkt im Script erstellen? Mex PHP Tipps 2005-2 10 22.08.2005 21:06
Icons für Pocket-Pcs erstellen? Locutus007 Off-Topic Diskussionen 0 19.08.2005 14:38
Eindeutiger Zähler erstellen geht nicht bendigo Datenbanken 1 18.08.2005 11:36
Stammbaum erstellen Riot PHP Tipps 2005 17 13.05.2005 16:32
PDF erstellen?! Calli PHP Tipps 2005 5 19.04.2005 09:20
[Erledigt] E-Mail Adresse per PHP Script erstellen? PHP-Fortgeschrittene 3 26.02.2005 12:14
Ordner erstellen und Datei uploaden Juuro PHP Tipps 2005 6 20.01.2005 21:18
Ordner per Skript erstellen --> Rechte Problem PHP Tipps 2004 2 06.07.2004 14:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.