ERLEDIGT
NEIN
NEIN
ANTWORTEN
18
18
ZUGRIFFE
19630
19630
EMPFEHLEN
-
hallo alle zusammen
ich suche einen kompletten Bild upload Script für meine Community was auch das Bild auf eine bestimmte größe verkleinert. Es sollte 100 % funktionieren weil ich kenn mich noch nicht so gut in php aus.
kan mir jemand helfen oder einen kompletten Script schicken?
DANKE
-
13.05.07 19:17 #2
Hallo,
kuck dir mal die Grafik-Funktionen von PHP an:
http://www.php.net/manual/de/ref.image.phpWeb: spAps.de
Other: Miranda IM, Firefox, Thunderbird, PHP, MySQL, JavaScript, NOD32, AMD & Windows User....
-
Danke für die hilfe aber ich versteh da eigentlich garnichts
ich wär glücklich wenn mir einer einen fetigen Script schicken würde!
// EDIT
ich hab hier ein script gefunden aber er kann bilder nur zu einer bestimmten grösse hochladen
liegt es vieleicht an meinem funpic webspace?
oder an dem Script?
PHP-Code:<html>
<head>
<title>Upload</title>
</head>
<body>
<?
if($action){
// --------------------------------
// Diverse Variablen
// --------------------------------
$path = "images/typen/"; // Url zum Speicherordner der großen Bilder
$thumb_path = "images/typen/thumb/"; // Url zum Speicherordner der Vorschaubilder
$config_width = "320"; // Bildbreite max. bei großem Bild
$config_height = "240"; // Bildhöhe max. bei großem Bild
$config_thumb_width = "80"; // Bildbreite max. bei Vorschaubild
$config_thumb_height = "60"; // Bildhöhe max. bei Vorschaubild
$resizequality = "70"; // Bildkompressionsrate 0-100
$deindomain = "http://www...........de/"; // unsere Domain
if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none')
{
// --------------------------------
// Get File Upload Info
// --------------------------------
$filename = $HTTP_POST_FILES['pic_file']['name'];
$filetype = $HTTP_POST_FILES['pic_file']['type'];
$filetmp = $HTTP_POST_FILES['pic_file']['tmp_name'];
// --------------------------------
// Check file type
// --------------------------------
switch ($filetype)
{
case 'image/jpeg':
case 'image/jpg':
case 'image/pjpeg':
$pic_filetype = '.jpg';
break;
case 'image/png':
case 'image/x-png':
$pic_filetype = '.png';
break;
case 'image/gif':
$pic_filetype = '.gif';
break;
default:
die("Falsches Dateiformat. Nur JPEG, GIF oder PNG erlaubt!");
}
// --------------------------------
// Generate filename
// --------------------------------
srand((double)microtime()*1000000); // for older than version 4.2.0 of PHP
do
{
$pic_filename = md5(uniqid(rand())) . $pic_filetype;
}
while( file_exists($path . $pic_filename) );
// --------------------------------
// Move this file to upload directory
// --------------------------------
$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
if ( @$ini_val('open_basedir') != '' )
{
if ( @phpversion() < '4.0.3' )
{
die("open_basedir is set and your PHP version does not allow move_uploaded_file<br /><br />Please contact your server admin");
}
$move_file = 'move_uploaded_file';
}
else
{
$move_file = 'copy';
}
$move_file($filetmp, $path . $pic_filename);
@chmod($path . $pic_filename, 0777);
// --------------------------------
// Well, it's an image. Check its image size
// --------------------------------
$pic_size = getimagesize($path . $pic_filename);
$pic_width = $pic_size[0];
$pic_height = $pic_size[1];
// --------------------------------
// This image is okay, we can cache its thumbnail now
// --------------------------------
if($pic_filetype != '.gif')
{
$gd_errored = FALSE;
switch ($pic_filetype)
{
case '.jpg':
$read_function = 'imagecreatefromjpeg';
break;
case '.png':
$read_function = 'imagecreatefrompng';
break;
}
$src = @$read_function($path . $pic_filename);
if (!$src)
{
$gd_errored = TRUE;
$pic_thumbnail = '';
}
else if( ($pic_width > $config_thumb_width) or ($pic_height > $config_thumb_height) )
{
// Resize it
if ($pic_width > $pic_height)
{
$thumbnail_width = $config_thumb_width;
$thumbnail_height = $config_thumb_width * ($pic_height/$pic_width);
}
else
{
$thumbnail_height = $config_thumb_height;
$thumbnail_width = $config_thumb_height * ($pic_width/$pic_height);
}
$thumbnail = @imagecreatetruecolor($thumbnail_width, $thumbnail_height);
$resize_function = 'imagecopyresampled';
@$resize_function($thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $pic_width, $pic_height);
}
else
{
$thumbnail = $src;
}
if (!$gd_errored)
{
$pic_thumbnail = $pic_filename;
// Write to disk
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($thumbnail, $thumb_path . $pic_thumbnail, $resizequality);
break;
case '.png':
@imagepng($thumbnail, $thumb_path . $pic_thumbnail);
break;
}
@chmod($thumb_path . $pic_thumbnail, 0777);
} // End IF $gd_errored
} // End Thumbnail Cache
// --------------------------------------
// OK lets resize the original picture
// --------------------------------------
if($pic_filetype != '.gif')
{
$gd_errored = FALSE;
switch ($pic_filetype)
{
case '.jpg':
$read_function = 'imagecreatefromjpeg';
break;
case '.png':
$read_function = 'imagecreatefrompng';
break;
}
$src = @$read_function($path . $pic_filename);
if (!$src)
{
$gd_errored = TRUE;
$pic_resize = '';
}
else if( ($pic_width > $config_width) or ($pic_height > $config_height) )
{
// Resize it
if ( (($pic_width / $pic_height) > ($config_width / $config_height)) )
{
$resize_width = $config_width;
$resize_height = $config_width * ($pic_height/$pic_width);
}
else
{
$resize_height = $config_height;
$resize_width = $config_height * ($pic_width/$pic_height);
}
$resize = @imagecreatetruecolor($resize_width, $resize_height);
$resize_function = 'imagecopyresampled';
@$resize_function($resize, $src, 0, 0, 0, 0, $resize_width, $resize_height, $pic_width, $pic_height);
}
else
{
$resize = $src;
}
if (!$gd_errored)
{
$pic_resize = $pic_filename;
// Write to disk
switch ($pic_filetype)
{
case '.jpg':
@imagejpeg($resize, $path . $pic_resize, $resizequality);
break;
case '.png':
@imagepng($resize, $path . $pic_resize);
break;
}
@chmod($path . $pic_resize, 0777);
} // End IF $gd_errored
} // End Picture Resize
echo "Datei ist auf dem Server! <br><br>";
echo "Url des großen Bildes: <a href=\"$deindomain$path$pic_filename\" target=\"_blank\">".$deindomain.$path.$pic_filename;
echo "</a> <br><img src=\"$deindomain$path$pic_filename\"><br><br>";
echo "Url des Vorschaubildes: <a href=\"$deindomain$thumb_path$pic_filename\" target=\"_blank\">".$deindomain.$thumb_path.$pic_filename;
echo "</a> <br><img src=\"$deindomain$thumb_path$pic_filename\">";
}
} else { ?>
<form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>">
<input type="hidden" name="MAX_FILE_SIZE" value="4000000">
<br>
<strong>File Upload</strong> <br>
<br>
<input name="pic_file" type="file" size=40>
<br>
<br>
<input type="submit" name="action" value="Speichern">
</form>
<?
}
// -----------------------------------------
// Das Script kann unter Verwendung
// dieses Vermerks uneingeschränkt
// genutzt / verändert werden.
// © www.marc-gutt.de
// -----------------------------------------
?>
</body>
</html>
-
13.05.07 21:55 #4
Also ein bisschen Eigeninitiative ist doch nicht zuviel verlangt, oder?!
Direkt bei den ersten Kommentaren steht doch schon alles erklärt, was man wissen braucht...KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
steht nicht drin wieso er bilder nur zu einer bestimmten größe hochladen kann
und bei den größeren bleibt der Browser einfach weiß
-
14.05.07 17:05 #6
Ich seh gerade, dass das Script nicht mit den neuesten PHP Versionen arbeiten wird, da es auf alte Variablen zugreift, die meiner Meinung nach nicht mehr gesetzt sind.
Du müsstest das ganze Skript umschreiben, damit es funktioniert.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Hi,
http://www.php-space.info/bilder-upload-script/
(1min Google)
Habs getestet funktioniert auch.:wq
-
Ehm magst du mir mal sagen was das bedeuten soll..Also welche es genau betrifft
Zitat von Felix Jacobi
Ich arbeite schon recht lang mit dem script unter PHP 5...
Hab ja schon sorgen das es mit 5.2.2 nicht klarkommt...Das wir morgen aufgespielt
Ich hoffe es geht dann noch...
edit: Aso ich habe aus dem Script die Gif Funktion entfernt da sie nicht richtig ging.
Und noch einige andere unwichtige Funktionen hinzugefügt
.
LG LarsGeändert von peper (14.05.07 um 18:55 Uhr)
-
14.05.07 19:15 #9
Also bei mir (register_globals off, Safe Mode off) funktioniert z. B. $PHP_SELF nicht.
Und auch wenn ich das ändere, macht das Skript erstmal gar nichts... Mich damit weiter zu beschäftigen hatte ich dann erstmal keine Lust mehr, sorry
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Wenn du nochmal irgendwann Lust dazu hast, würde ich mich freuen, wenn du die Fehler die dir auffallen hier postest

Was nimmt man eigentlich anstatt $PHPSelf
etwaLG LarsPHP-Code:$_SERVER['PHP_SELF']
-
14.05.07 19:48 #11
Ja, nimmt man...
Ich poste mir mal ein paar Sachen, die mir auffallen...
- Statt $HTTP_POST_FILES => $_FILES nehmen
- Statt den Type aus deinem Formular abzulesen, der sich nur auf die Dateiendung bezieht, solltest du lieber getimagesize() benutzen, dass im Array auch den Mime Type zurückgibt
- Statt überall die Fehler zu unterdrücken per @ solltest du error_reporting() auf 0 stellen. Dies würde dir erleichtern bei möglichen Kunden schnell den Debug Mode anzustellen (error_reporting auf E_ALL) und zu schauen, wo der Fehler auftritt.
- Außerdem solltest du, nach Erstellen des Thumbnails und Größere verändern, die alte Bildressource per imagedestroy() vernichten.
Das ist alles was mir spontan auffällt
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Okay da kümmere ich mich dann erstmal drum

Danke erstmal..
So soweit alles abgehakt..
Ausser error Reporting:
Ich denke dieses müsste in der PHP.ini geschehen.
Oder
Wenn ja müßte ich sie mir morgen mal freigeben lassen.
LG LarsGeändert von peper (14.05.07 um 20:03 Uhr)
-
denk dran das der upload bei funpic glaube nur 1MB pro datei ist... war zumindest mal so....
MfG GunahMeine Private Homepage: www.gunah.eu
-
16.05.07 13:04 #14
Nein, error_reporting() ist ja eben dafür da, dass man es nicht in der php.ini ändern muss, sondern während der Laufzeit eines Skriptes ändern kann.
Es kann natürlich sein, dass der Befehl von deinem Hoster deaktiviert wurde.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Oki dann muß ich mal gucken wo ich den in das script packen kann...
Danke auf jedenfall nochmal
Den anderen Post mit dem Funpic verstehe ich irgendwie nicht...
Wer hat den von Funpic gesprochen?
LG Lars
Ähnliche Themen
-
Upload Script - JPG KEIN Upload möglich
Von Radanua im Forum PHPAntworten: 12Letzter Beitrag: 12.09.10, 21:32 -
PHP: JPEG-Bild-Upload, dann thumb speichern und komprimiertes Bild
Von flukas im Forum PHPAntworten: 3Letzter Beitrag: 01.03.09, 15:03 -
ImageMagick + bild upload + bild verkleinern
Von oldputz1990 im Forum PHPAntworten: 15Letzter Beitrag: 29.10.06, 10:47 -
Bild-Upload-Script, Bildergalerie
Von Marvin im Forum PHPAntworten: 1Letzter Beitrag: 25.05.05, 15:19 -
Script Upload - gif-Bild durch jpg-Bild austauschen
Von supercat1510 im Forum PHPAntworten: 2Letzter Beitrag: 28.03.04, 16:53





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren