Alle Beiträge

PHP Bild hochladen und abspeichern

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

Bilder, HTML, CSS, MySQL, PHP, speichern, Image

PC freeze bei manchen Programmstarts

Hallo, ich habe da ein vermutlich schwerwiegenderes Problem und bin wirklich über jede Hilfe dankbar.

Seit geraumer zeit habe hier und da mal einen eingefrorenen Bildschirm bzw. eingefrorenes System gehabt. Hab dann einfach neu gestartet und gut war. Konnte auch keine Regelmäßigkeit feststellen, seit gestern aber tritt dieser freeze immer dann auf wenn ich bestimmte Programme starte, bisher konnte ich nur Spotify und League of Legends als solche identifizieren. Ich mache einen Doppelklick um das Programm zu starten,der PC läd, kleines Rädchen am Mauszeiger dreht sich und ich kann nichts mehr anklicken. Den cursor kann ich noch eine kurze Zeit bewegen aber damit ist auch schnell schluss und nichts geht mehr.

Natürlich habe ich schon selbst mal recherchiert aber es wurde immer auf ein Problem der Festplatte hingewiesen, was ich aber aus 3 (zumindest meiner unerfahrenen Meinung nach aussagekräftigen) Gründen ausschließen kann.

  1. Die beiden Programme sind auf verschiedenen festplatten installiert.

  2. Das Problem tritt nicht im abgesicherten Modus auf.

  3. Eine Überprüfung mit CrystalDiskInfo hat eine 100%ige lauffähigkeit meiner beiden Platten ergeben.

Sollten diese Gründe keine tatsächlichen Gründe sein dann lasse ich mich natürlich gerne eines besseren belehren.

Ansonsten habe ich meine Treiber aktualisiert,zumindest Spotify mal neu installiert und auch mal meinen PC entstaubt (auch wenn das möglicherweise nichts bewirken mag :D). Leider war nichts von Erfolg gekrönt.

Mein Betriebssystem ist Windows 7 und falls andere informationen über mein System von nöten sind werden die natürlich direkt nachgereicht.

Hoffe wirklich,dass mir jemand helfen kann.

Festplatte, System, freeze