Hay.
Ich habe ein php formular geschriben bei dem mehrere bilder hochgeladen und verkleinert werden.
Eigentlich funktioniert alles aber nur beim ersten bild. Ich wollte das mit einer for schleife für jedes bild wider holen aber irgendwie klappt das ned. :/
hier meine datei:
Ist nicht perfekt muss noch einige dinge ändern aber mir wäre die funktion mal wichtig, seht ihr das problem? error oder warnings habe ich keine.
grüsse
Ich habe ein php formular geschriben bei dem mehrere bilder hochgeladen und verkleinert werden.
Eigentlich funktioniert alles aber nur beim ersten bild. Ich wollte das mit einer for schleife für jedes bild wider holen aber irgendwie klappt das ned. :/
hier meine datei:
PHP:
<label>Serien Nummer:<br>
<input type="number" name="seriennummer" required/><br><br>
<label>Bilder:<br><input type="file" id="file" name="file[]" accept="image/*" multiple required><br></label><br>
<input type="submit" name="submit" value="Absenden" >
</form>
</div>
</main>
</body>
</html>
<?php
function imageResize($imageResourceId,$width,$height) {
$targetWidth =200;
$targetHeight =200;
$targetLayer=imagecreatetruecolor($targetWidth,$targetHeight);
imagecopyresampled($targetLayer,$imageResourceId,0,0,0,0,$targetWidth,$targetHeight, $width,$height);
return $targetLayer;
}
if(isset($_POST['submit'])){
if(is_array($_FILES)){
$tester = $_SESSION['active_user'];
$builder = $_POST['creator'];
$object = $_POST['object'];
$seriennummer = $_POST['seriennummer'];
$name = $seriennummer." ".$object;
$upload = "Archiev/".$name."/";
mkdir($upload);
$countfiles = count($_FILES['file']['tmp_name']);
echo $countfiles;
for($i=0;$i<$countfiles;$i++){
$filename = $_FILES['file']['tmp_name'][$i];
$sourceProperties = getimagesize($filename);
$imageType = $sourceProperties[2];
//KOMPRIMIEREN
switch ($imageType) {
case IMAGETYPE_PNG:
$imageResourceId = imagecreatefrompng($filename);
$targetLayer = imageResize($imageResourceId,$sourceProperties[0],$sourceProperties[1]);
imagepng($targetLayer,$upload.$name.".png");
break;
case IMAGETYPE_GIF:
$imageResourceId = imagecreatefromgif($filename);
$targetLayer = imageResize($imageResourceId,$sourceProperties[0],$sourceProperties[1]);
imagegif($targetLayer,$upload.$name.".gif");
break;
case IMAGETYPE_JPEG:
$imageResourceId = imagecreatefromjpeg($filename);
$targetLayer = imageResize($imageResourceId,$sourceProperties[0],$sourceProperties[1]);
imagejpeg($targetLayer,$upload.$name.".jpg");
break;
default:
echo "Invalid Image type.";
exit;
break;
}
echo $name;
}
//ERSTELLE PROTOKOLL
$dateiname = $upload.$name.".html";
$text = "<b>Gebaut von:".$builder."</br>
Kontrolliert von:".$tester."<br>
Kontrolliert am:".date('m/d/Y')."<br>
Typ:".$object."<br>
Seriennummer:".$seriennummer."<br></b>"
;
$handler = fopen($dateiname , "a+");
fwrite($handler , $text);
fclose($handler);
}
}
?>
Ist nicht perfekt muss noch einige dinge ändern aber mir wäre die funktion mal wichtig, seht ihr das problem? error oder warnings habe ich keine.
grüsse