hi!
möchte gerne eine bildergallerie mit php und mysql erstellen, dabei werfen sich mir einige steine in den weg, da ich mit php noch nicht allzu gut vertraut bin.
ich hab für jede gallerie lokal auf meinem rechner einen ordner image, in dem die bilddateien liegen. und einen ordner thumbs, in dem die thumbnails liegen. außerdem gibts noch ein "mainthumb", das als icon für die entsprechende gallerie verwendet wird.
der inhalt eines solchen gallerie-ordners schaut also so aus:
sämtliche bilder sind im JPG-format gespeichert und es wird auch kein anderes format eingesetzt werden (bilder werden direkt von der digi-cam übernommen).
wie schaff ich es nun, sämtliche dateien in einem zug auf meinen webserver hochzuladen und worauf hab ich dabei ggf. zu achten?
hab das script hier in verwendung bzw. aufs wesentlichste gekürzt:
das teil funktioniert wunderbar, nur lässt es mich nur ein einzelnes bild hochladen. ich würde gerne nur den pfad zum gallerie-ordner angeben und das skript soll sich die dateien selbst suchen.
ist das überhaupt lösbar?
danke für evt. hints.
möchte gerne eine bildergallerie mit php und mysql erstellen, dabei werfen sich mir einige steine in den weg, da ich mit php noch nicht allzu gut vertraut bin.
ich hab für jede gallerie lokal auf meinem rechner einen ordner image, in dem die bilddateien liegen. und einen ordner thumbs, in dem die thumbnails liegen. außerdem gibts noch ein "mainthumb", das als icon für die entsprechende gallerie verwendet wird.
der inhalt eines solchen gallerie-ordners schaut also so aus:
.
..
images/
thumbs/
thumb.jpg
..
images/
thumbs/
thumb.jpg
wie schaff ich es nun, sämtliche dateien in einem zug auf meinen webserver hochzuladen und worauf hab ich dabei ggf. zu achten?
hab das script hier in verwendung bzw. aufs wesentlichste gekürzt:
PHP-Code:
<?php
$path = "uploads/";
$upload_file_name = "userfile";
class uploader {
var $file;
var $path;
var $error;
var $accepted;
function uploader () {
$this->error = '';
}
function upload($filename='', $extention='') {
if (!isset($_FILES) || !is_array($_FILES[$filename]) || !$_FILES[$filename]['name']) {
$this->error = $this->get_error(0);
$this->accepted = FALSE;
return FALSE;
}
$this->file = $_FILES[$filename];
$image = getimagesize($this->file["tmp_name"]);
if($image[2] == 2) { // nur JPEG Dateien erlaubt
$this->accepted = TRUE;
} else {
$this->accepted = FALSE;
$this->error = $this->get_error(1);
}
return (bool) $this->accepted;
}
function save_file($path) {
if ($this->error) {
return false;
}
$this->path = $path;
if($this->accepted) {
// Hochgeladene Datei ueberschreiben
if (@copy($this->file["tmp_name"], $this->path . $this->file["name"])) {
$success = true;
} else {
$success = false;
$this->error = $this->get_error(2);
}
if(!$success) {
unset($this->file['tmp_name']); // Temporaere Datei am Server loeschen
}
return (bool) $success;
} else {
$this->error = $this->get_error(1);
return false;
}
}
function get_error($error_code='') {
$error_message = array();
$error_code = (int) $error_code;
$error_message[0] = "Es wurde keine Datei hochgeladen";
$error_message[1] = "Nur JPG Dateien dürfen hochgeladen werden.";
$error_message[2] = "Erlaubnis verweigert. Konnte Datei nicht nach '" . $this->path . "' kopieren.";
return $error_message[$error_code];
}
}
?>
<html>
<head><title>Upload</title></head>
<body>
<?php
if (isset($_REQUEST['submitted'])) {
$my_uploader = new uploader();
$my_uploader->upload('userfile', '.jpg');
$my_uploader->save_file($path);
if ($my_uploader->error) {
print($my_uploader->error . "<br><br>\n");
} else {
print("Thanks for uploading " . $my_uploader->file['name'] . "<br><br>\n");
}
}
?>
<form enctype="multipart/form-data" action="<?= $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="hidden" name="submitted" value="true">
<input name="<?= $upload_file_name; ?>" type="file">
<br><br>
<input type="submit" value="Upload File">
</form>
</body>
</html>
ist das überhaupt lösbar?
danke für evt. hints.
Kommentar