crashx
Erfahrenes Mitglied
Es existiert eine "auswahl.html"
Da kann ich mir Bilder auswählen....
Wenn ich 3 Bilder auswähle, dan ist das alles kein Problem, aber will ich nur ein Bild hochladen, dan beginnt das Problem
Fehler:
Was das Problem ist, das ist mir Bewust, nur der Weg zur Lösung, da happert es bei mir immer noch
Verarbeitende a_upload.php
Ich glaube das die a_upload.php, da von der auswahl.html 3 file[] kommen aber nur eines über eine Pfadangabe verfügt und die anderen Leer sind, möchte die a_upload.php aber alle 3 file[] verarbeiten.
Ich habe darüber nachgedacht das ganze über eine "if" Anweisung zu Lösen, aber ich weiss nicht ganz wie ich Prüfen soll was Leer ist,
Da ja alle <input> über den selben Namen verfügen: file[].
Ich stehe einfach auf der leitung.
Im weiteren glaube ich das mein Lösungsansatz einfach zu viel Code ergibt, ich müsste dan ja in etwa so vorgehen:
wenn 3 voll mach das.
wenn 2 voll mach das.
wenn 1 voll mach das.
wenn 0 voll Fehler.
und das wird für das gewünschte einfach zu gross.
Ich hoffe Ihr könnt mich Verstehen, und habt mir ein paar tips vorrätig
greatz CrashX
HTML:
<form method="POST" enctype="multipart/form-data" action="a_upload.php">
<p><input type="file" name="file[]" size="17"><br>
<input type="file" name="file[]" size="17"><br>
<input type="file" name="file[]" size="17"></p>
<p><input type="submit" value="Absenden" name="send"></p>
</form>
Wenn ich 3 Bilder auswähle, dan ist das alles kein Problem, aber will ich nur ein Bild hochladen, dan beginnt das Problem
Fehler:
Code:
Fehler beim Original erstellen -> ...
\n
Warning: getimagesize(foto/temp_) [function.getimagesize]: failed to open stream: No such file or directory in C:\serverII\xampp\htdocs\walti\a_upload.php on line 23
Warning: unlink(foto/temp_) [function.unlink]: No such file or directory in C:\serverII\xampp\htdocs\walti\a_upload.php on line 105
Fehler beim Original erstellen -> ...
\n
Warning: getimagesize(foto/temp_) [function.getimagesize]: failed to open stream: No such file or directory in C:\serverII\xampp\htdocs\walti\a_upload.php on line 23
Warning: unlink(foto/temp_) [function.unlink]: No such file or directory in C:\serverII\xampp\htdocs\walti\a_upload.php on line 105
Verarbeitende a_upload.php
PHP:
<?
$datum = date("dmy");
$zeit = date("Hi");
$dat = $datum.$zeit;
if (isset($_FILES))
{
for($i = 0; $i < count($_FILES['file']['tmp_name']); ++$i)
{
$tempname = $_FILES['file']['tmp_name'][$i];
$name = $_FILES['file']['name'][$i];
$size = getimagesize("$tempname");
if (!copy($tempname, 'foto/temp_'.$name))
{
echo ('Fehler beim Original erstellen -> '.$originalname.'...<br>\n');
}
$dir = "foto/";
$original = "temp_$name";
$get_data = getimagesize("$dir"."$original");
if($get_data[2]==1)
{
$original_temp = imagecreatefromgif("$dir"."$original");
$height_orig = $get_data[1];
$width_orig = $get_data[0];
$width = 500;
$height = intval($height_orig*$width/$width_orig);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$newOriginal = imagecreatetruecolor($width, $height);
imagecopyresampled($newOriginal, $original_temp, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagegif($newOriginal, "$dir"."$dat$name", 100);
}
if($get_data[2]==2)
{
$original_temp = imagecreatefromjpeg("$dir"."$original");
$height_orig = $get_data[1];
$width_orig = $get_data[0];
$width = 500;
$height = intval($height_orig*$width/$width_orig);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$newOriginal = imagecreatetruecolor($width, $height);
imagecopyresampled($newOriginal, $original_temp, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($newOriginal, "$dir"."$dat$name", 100);
}
if($get_data[2]==3)
{
$original_temp = imagecreatefrompng("$dir"."$original");
$height_orig = $get_data[1];
$width_orig = $get_data[0];
$width = 500;
$height = intval($height_orig*$width/$width_orig);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$newOriginal = imagecreatetruecolor($width, $height);
imagecopyresampled($newOriginal, $original_temp, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagepng($newOriginal, "$dir"."$dat$name", 100);
}
$delete = "$dir"."temp_$name";
unlink($delete);
//Hier endet das Original bearbeiten.
if (is_uploaded_file($tempname))
{
if($size[2]==1)
{
$im_temp = imagecreatefromgif($tempname);
$height_orig = $size[1];
$width_orig = $size[0];
$width = 100;
$height = intval($height_orig*$width/$width_orig);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$newImg = imagecreatetruecolor($width, $height);
imagecopyresampled($newImg, $im_temp, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagegif($newImg, "$tempname", 100);
move_uploaded_file($tempname,"thumb/thumb_$dat$name");
}
if($size[2]==2)
{
$im_temp = imagecreatefromjpeg($tempname);
$height_orig = $size[1];
$width_orig = $size[0];
$width = 100;
$height = intval($height_orig*$width/$width_orig);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$newImg = imagecreatetruecolor($width, $height);
imagecopyresampled($newImg, $im_temp, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($newImg, "$tempname", 100);
move_uploaded_file($tempname,"thumb/thumb_$dat$name");
}
if($size[2]==3)
{
$im_temp = imagecreatefrompng($tempname);
$height_orig = $size[1];
$width_orig = $size[0];
$width = 100;
$height = intval($height_orig*$width/$width_orig);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$newImg = imagecreatetruecolor($width, $height);
imagecopyresampled($newImg, $im_temp, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagepng($newImg, "$tempname", 100);
move_uploaded_file($tempname,"thumb/thumb_$dat$name");
}
}
}
}
include('com/connect.php');
$eintrag = "
INSERT INTO
`galerie`
SET
`foto` = '".mysql_real_escape_string('foto/'.$dat.$_FILES['file']['name'][0])."',
`thumb` = '".mysql_real_escape_string('thumb/thumb_'.$dat.$_FILES['file']['name'][0])."'";
$eintragen = mysql_query($eintrag);
$sql = 'OPTIMIZE TABLE `galerie`';
//----------------------------------
$eintrag = "
INSERT INTO
`galerie`
SET
`foto` = '".mysql_real_escape_string('foto/'.$dat.$_FILES['file']['name'][1])."',
`thumb` = '".mysql_real_escape_string('thumb/thumb_'.$dat.$_FILES['file']['name'][1])."'";
$eintragen = mysql_query($eintrag);
$sql = 'OPTIMIZE TABLE `tuning`';
//----------------------------------
$eintrag = "
INSERT INTO
`galerie`
SET
`foto` = '".mysql_real_escape_string('foto/'.$dat.$_FILES['file']['name'][2])."',
`thumb` = '".mysql_real_escape_string('thumb/thumb_'.$dat.$_FILES['file']['name'][2])."'";
$eintragen = mysql_query($eintrag);
$sql = 'OPTIMIZE TABLE `tuning`';
?>
Ich habe darüber nachgedacht das ganze über eine "if" Anweisung zu Lösen, aber ich weiss nicht ganz wie ich Prüfen soll was Leer ist,
PHP:
if(empty($_POST['file[]']))
Ich stehe einfach auf der leitung.
Im weiteren glaube ich das mein Lösungsansatz einfach zu viel Code ergibt, ich müsste dan ja in etwa so vorgehen:
wenn 3 voll mach das.
wenn 2 voll mach das.
wenn 1 voll mach das.
wenn 0 voll Fehler.
und das wird für das gewünschte einfach zu gross.
Ich hoffe Ihr könnt mich Verstehen, und habt mir ein paar tips vorrätig
greatz CrashX