Hallo Community,
ich will eine Seite (HTML,PHP, MySQLi, CSS - möglichst kein JS) machen, wo man sein Bild hochlädt und es dann gespeichert wird, während der Pfad in der DB landet.
Mein Code bis jetzt:
HTML:
<br /><h3><?php echo $language['reportTitle']; ?></h3>
<form class="adder" action="saveReport.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="ID" value="<?php echo $_SESSION['ID']; ?>" />
<br /><?php echo $language['reportImage']; ?><label class="upload"><p><?php echo $language['reportUpload']; ?></p><input name="image" type="file" maxlength="1000000" accept="image/*" /></label>
<br /><br /><?php echo $language['reportDescription']; ?><input name="description" type="text" />
<br /><br /><b><?php echo $language['reportInfoTitleGeneral']; ?></b><input type="submit" />
</form>
CSS: (eig. unwichtig)
.upload {
overflow: hidden;
position: absolute;
text-align: center;
font-size: small;
color: #708090;
background-color: #dddddd;
width: 213px;
height: 33px;
left: 500px;
margin-top: -10px;
border-width: thin;
border-color: #C0C0C0;
border-style: solid;
border-radius: 3px;
}
.upload:hover {
border-color: #008B8B;
}
.upload [type="file"] {
display: block;
position: absolute;
font-size: 999px;
filter: alpha(opacity=0);
opacity: 0;
right: 0;
top: 0;
}
.upload p {
margin-top: 10px;
}
PHP: (nur ein Ansatz)
<?php
include('../include/language.inc.php');
include('../include/testSession.inc.php');
include('../include/connect.inc.php');
$info[1] = $_POST['ID'];
$info[2] = $_POST['description'];
$info[3] = $_FILES['image'];
$size = sizeof($info);
for($i = 0; $i < $size; $i++) {
if(empty($info[$i])) {
$_SESSION['error'] = $language['addErrorMissingData'];
header('Location:report.php');
die($language['addErrorMissingData']);
}
}
$path = "INSERT INTO bugs VALUES (NULL,'".$info[1]."','".$info[2]."','".$info[3]."')";
$mysqli->query($path);
imagepng($im, '../include/images/'. $mysqli->insert_id . image_type_to_extension(IMAGETYPE_PNG));
?>
Ich habe schon ein bisschen gegoogelt, aber ich versteh's nicht. Gefunden hab ich:
- ob_start()
- POST uploads: http://php.net/manual/en/features.file-upload.post-method.php#features.file-upload.post-method
Am ende sollen (NULL für die ID), die UserID und die Beschreibung in der DB landen. Der Bild-Pfad soll bug['ID'].'.png' sein.
Fragen:
- Wie nehme ich das Bild entgegen? ($_POST oder $_FILES)
- Wie wandle ich das Bild in ein PNG-Format um?
- Wie speicher ich das Bild?
- Wieso spackt der "Hochladen"-Button so? (Text verschwindet nach anklicken) (Optional)
Danke, schon mal im Voraus!
-Minding