Thumbnail

hasemann

Mitglied
Hallöchen!Ich habe mal wieder ein kleines Probelm und zwar habe ich mir ein Script gebastelt für die erstellung von Thumbnails soweit ist das auch ok.Mein Prob ist es jetzt die Bilder zu speichern das will irgendwie nicht.
Hier ist das Script:

<?php
header("Content-Type: image/jpeg");
$name = "1.jpg";
$daten = getimagesize ( $name );
$neuebr = "300";
$neuehoe = "210";
$ORIGINAL = imageCreateFromJPEG("$name");
$BILD = imageCreateTrueColor($neuebr, $neuehoe);
imageCopyResized($BILD, $ORIGINAL,
0, 0,
0, 0,
$neuebr, $neuehoe,
$daten[0],$daten[1]);
imageJPEG($BILD);
imageCopyResized($ORIGINAL,$BILD,0,0,0,0,$neuebr,$neuehoe,$daten[0],$daten[1]);
ImageJPEG($BILD, "/thumbsbilder/thumb_".$name);
?>


Er zeigt mir das Bild an im Browser aber speichern tut er nicht wo ist der Fehler
Ich würde mich über eine Antwort freuen.
 
Hi,

auf den ersten Blick würde ich sagen, die Pfadangabe ist falsch.

ImageJPEG($BILD, "/thumbsbilder/thumb_".$name);
Willst du das Bild wirklich im root-Dir speichern?

Wenn die Pfadangabe mit einem "/" beginnt, ist es der absolute Pfad.
Willst du relativ zum Skript speichern, nimm das "/" am Anfang weg.
 
Bau das Skript mal wie folgt auf:
PHP:
<?php

	header('Content-Type: text/plain');

	$name = "1.jpg";
	$daten = getimagesize($name);
	$neuebr = 300;
	$neuehoe = 210;
	$ORIGINAL = imageCreateFromJPEG($name);
	$BILD = imageCreateTrueColor($neuebr, $neuehoe);
	imageCopyResized($BILD, $ORIGINAL, 0, 0, 0, 0, $neuebr, $neuehoe, $daten[0], $daten[1]);
	ImageJPEG($BILD, "/thumbsbilder/thumb_".$name);

	if( headers_sent() ) {
		exit;
	}
	header('Content-Type: image/jpeg');
	ImageJPEG($BILD);

?>
 
Hey Leute!
Ich habe schon wieder ein Prob.Und zwar habe ich das script so das USER selber Bilder von sich hochladen kann das geht auch ganz gut er speichert das Bild und erstellt auch ein Thumbnail davon aber ich bekomm im Browser immer noch eine Fehlermeldung und ich weiss nicht warum.Hier ist mal der Code:

HTML Formular kurzform nicht erschrecken:
<form action="thumbs.php" enctype="multipart/form-data" method="post">
<input name="Datei" type="file"><br>
<input name="send" type="submit" value="Upload">
</form>



PHP Datei:
<?php
session_start();
$_SESSION['name'] = "marvin";
?>
<?php
include("css und config/config.php");
?>
<?php
if ( isset($_SESSION['name']))
{
$bildname = $_FILES['Datei']['name'];
$bildpfad = $_FILES['Datei']['tmp_name'];
$bildueberschrift = strip_tags ($_POST['bildueberschrift']);
$datum = date("d.m.Y");
if (file_exists("upload/$bildname"))
{
echo "Der Name des Bildes ist schon vorhanden bitte den Name ändern.";
}
else
{
move_uploaded_file ( $bildpfad ,"upload/".$_FILES['Datei']['name'] );
$daten = getimagesize ( "$bildpfad" );
$neuebr = "180";
$neuehoe = "135";
$ORIGINAL = imageCreateFromJPEG("$bildpfad");
$BILD = imageCreateTrueColor($neuebr, $neuehoe);
imageCopyResized($BILD, $ORIGINAL,
0, 0,
0, 0,
$neuebr, $neuehoe,
$daten[0],$daten[1]);
imageCopyResized($ORIGINAL,$BILD,0,0,0,0,$neuebr,$neuehoe,$daten[0],$daten[1]);
ImageJPEG($BILD, "upload/thumbs/th_".$bildname);
}
}
else
{
echo "Bitte erst einloggen";
}
?>

Hier ist noch der Fehler den ich Browser bekomme obwohl er alles gespeichert hat wie er soll.

Warning: getimagesize(/is/htdocs/user_tmp/xxxxxxxx/phpfRxl5s) [function.getimagesize]: failed to open stream: No such file or directory in /is/htdocs/xxxxxxxx/thumbs.php on line 22

Warning: imagecreatefromjpeg(/is/htdocs/user_tmp/xxxxxxxx/phpfRxl5s) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /is/htdocs/xxxxxxxx/thumbs.php on line 25

Warning: imagecopyresized(): supplied argument is not a valid Image resource in /is/htdocs/xxxxxxxx/thumbs.php on line 31

Warning: imagecopyresized(): supplied argument is not a valid Image resource in /is/htdocs/xxxxxxxx/thumbs.php on line 32

Vieleicht könnt ihr mir weiter helfen.Ich stehe gerade auf dem Schlauch.Danke
 
PHP:
move_uploaded_file ( $bildpfad ,"upload/".$_FILES['Datei']['name'] );
$daten = getimagesize ( "$bildpfad" );

Du wendest getimagesize() auf die temporäre Datei, statt auf die verschobene an.
 
Zurück