Image von Temp area ins eigene Verzeichniss(auf dem Server) kopieren ?

Code46

Erfahrenes Mitglied
Hi,

Habe wieder mal ein Problem. Mein Bild wird auf dem server im tmp verzeichnis gespeichert und auch in der DB gespeichert.
Ich möchte es gerne in meinem home verzeichnis auf der Server speichern und dann schließlich anzeigen.
Wisst ihr wie man das machen kann ?

Im moment wird es nur im tmp gespeichert und beim anzeigen wird nur der ALT text angezeigt.

Mein code für das speichern:
PHP:
<html>
<body>
<h1>Uploading Images to MySQL</h1><p>
<?php
if ( !isset($_FILES['userFile']['type']) ) {
   die('<p>No image submitted</p></body></html>');
}
?>
You submitted this file:<br /><br />
Temporary name: <?php echo $_FILES['userFile']['tmp_name'] ?><br />
Original name: <?php echo $_FILES['userFile']['name'] ?><br />
Size: <?php echo $_FILES['userFile']['size'] ?> bytes<br />
Type: <?php echo $_FILES['userFile']['type'] ?></p>

<?php
include 'dbc.php';
// Validate uploaded image file
if ( !preg_match( '/gif|png|x-png|jpeg/', $_FILES['userFile']['type']) ) {
   die('<p>Only browser compatible images allowed</p></body></html>');
} else if ( strlen($_POST['altText']) < 5 ) {
   die('<p>Please provide meaningful alternate text</p></body></html>');
} else if ( $_FILES['userFile']['size'] > 500000 ) {
   die('<p>Sorry file too large</p></body></html>');
// Connect to database
} else if (!$link) {
   die('<p>Error connecting to database</p></body></html>');
} else if (!$db) {
   die('<p>Error selecting database</p></body></html>');
// Copy image file into a variable
} else if ( !($handle = fopen ($_FILES['userFile']['tmp_name'], "r")) ) {
   die('<p>Error opening temp file</p></body></html>');
} else if ( !($image = fread ($handle, filesize($_FILES['userFile']['tmp_name']))) ) {
   die('<p>Error reading temp file</p></body></html>');
} else {
   fclose ($handle);
   // Commit image to the database
   $image = mysql_real_escape_string($image);
   $alt = htmlentities($_POST['altText']);
   $query = 'INSERT INTO image (type,name,alt,img) VALUES ("' . $_FILES['userFile']['type'] . '","' . $_FILES['userFile']['name']  . '","' . $alt  . '","' . $image . '")';
   if ( !(mysql_query($query,$link)) ) {
      die('<p>Error writing image to database</p></body></html>');
   } else {
      die('<p>Image successfully copied to database</p></body></html>');
   }
}
?>
</body>
</html>

Hier lasse ich das Bild anzeigen:

PHP:
<?php
include 'dbc.php';
if (!$link) {
   die('<p>Error connecting to database</p></body></html>');
} else if (!$db) {
   die('<p>Error selecting database</p></body></html>');
} else {
   $query = "SELECT id,name,alt FROM image";
   if ( !($result = mysql_query($query,$link)) ) {
      die('<p>Error reading database</p></body></html>');
   } else {
      for ( $i = 0 ; $i < mysql_num_rows($result) ; $i++ ) {
        $row = mysql_fetch_assoc($result);
        echo '<img src="getImage.php?id=' . $row['id'] . '" alt="' . $row['alt'] . '" title="' . $row['name']  .'"/>  ' . "\n";
      }
   }
}
?>
 
Zurück