
[PHP/MySQL] Upload
- DasFragezeichen
- Mitglied
- Beiträge: 402
- Registriert: 28.08.2005 19:51
- DasFragezeichen
- Mitglied
- Beiträge: 402
- Registriert: 28.08.2005 19:51
- DasFragezeichen
- Mitglied
- Beiträge: 402
- Registriert: 28.08.2005 19:51
-
- Mitglied
- Beiträge: 140
- Registriert: 10.05.2005 02:35
- Wohnort: Filderstadt
also ich hab da jetzt mal ein kleines Script geschrieben, das anhand einer ID den Datensatz ausliest, um 1 erhöht und wieder in die Datenbank einträgt, alles funktioniert einwandfrei bei mir.
ich hab Variablen verwendet, die können je nachdem wie mans möchte ersetzt werden.
Code: Alles auswählen
/*
die Konstanten sind recht praktisch zu verwenden, einfach die richtigen Daten eingeben
wenn die Daten in mehreren Dateien gebraucht werden, in eine config.php auslagern
ich habe die Tabelle mit
CREATE TABLE `test` (`id` INT NOT NULL, `url` INT NOT NULL);
erstellt, man könnte id auf AUTO_INCREMENT setzen, oder ähnlich
und Beispieldatensätze
INSERT INTO `test` ( `id` , `url` ) VALUES ('1', '4'), ('2', '6');
*/
define('DB_HOST', 'localhost');
define('DB_USER', '');
define('DB_PASS', '');
define('DB_NAME', 'test');
define('TABLE_NAME', 'test');
// Tabellenstruktur zum Testen 2 Felder id und url
$feld1 = "id";
$feld2 = "url";
$id = 1;
$verbindung = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Verbindung konnte nicht hergestellt werden");
mysql_select_db(DB_NAME, $verbindung);
$sql = "SELECT * FROM ".TABLE_NAME." WHERE ".$feld1."=".$id;
$result = mysql_query($sql, $verbindung) or die ("SQL-Befehl ".$sql." konnte nicht ausgeführt werden");
if ($row = mysql_fetch_assoc($result))
{
$zahl = $row[$feld2];
}
/* mit mysql_fetch_object
if ($row = mysql_fetch_object($result))
{
$zahl = $row->$feld2;
}
*/
echo "aktueller Wert: ".$zahl."<br>\n";
$zahl++;
echo "neuer Wert: ".$zahl."<br>\n";
$sql = "UPDATE ".TABLE_NAME." SET ".$feld2."=".$zahl." WHERE ".$feld1."=".$id;
mysql_query($sql, $verbindung) or die ("SQL-Befehl ".$sql." konnte nicht ausgeführt werden");
mysql_close();
- DasFragezeichen
- Mitglied
- Beiträge: 402
- Registriert: 28.08.2005 19:51
- DasFragezeichen
- Mitglied
- Beiträge: 402
- Registriert: 28.08.2005 19:51
Hm, also ... ginge das ? :
ganz einfach so das überprüft wird ob es gif oder jpg ist und dann zu $zahl.[Dateityp] umbenennt ? Geht das ? Wenn nein ... Was soll ich dann machen ? xD
Code: Alles auswählen
$zahl = "Irgendwas";
if(eregi("(jpg|gif)$",$name))
{
$ftype == "image/gif"
{
$fname = $zahl.gif
}
else
{
$fname = $zahl.jpg
}
Try it and see...DasFragezeichen hat geschrieben:Geht das ?
Das, was dir schon öfter empfohlen wurde - ein PHP-Tutorial durchlesen. Von nichts kommt schließlich nichts und wenn du hier jedesmal bei den kleinsten Problemen fragst bringt das auch nicht viel, wenn du die Grundlagen nicht verstanden hast.DasFragezeichen hat geschrieben:Wenn nein ... Was soll ich dann machen ?
KB:knigge
- DasFragezeichen
- Mitglied
- Beiträge: 402
- Registriert: 28.08.2005 19:51
Hm, nach meinen Erkentnissen sollte die Datei dann blabla.jpg heißen und in den Ordner : my-domain-name.de/upload/ hochgeladen werden ... Aber, das ganze klappt nicht ... Dann kommt eine Fehlermeldung und der Dateiname bleibt<form action="upload.php" method="post" enctype="multipart/form-data" name="upload">
<input type="file" name="file"><input type="submit" name="submit" value="Upload">
</form>
<?php
$max_byte_size = 10240000;
$allowed_types = "(jpg|jpeg|gif|bmp|png|tif|tiff|swf|zip|rar)";
if($_POST["submit"] == "Upload") {
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {
if($_FILES["file"]["size"] <= $max_byte_size) {
rename($_FILES["file"]["tmp_name"], "/srv/www/htdocs/web0/html/upload/blabla.jpg"); //hier...
if(copy($_FILES["file"]["tmp_name"], $_FILES["file"]["name"])) {
echo "Die Datei : " . $_FILES["file"]["name"] . " wurde erfolgreich hochgeladen!<br>";
echo "Datei : <a href=\"" . $_FILES["file"]["name"] . "\">" . $_FILES["file"]["name"] . "</a>";
}
else {
echo "Datei konnte nicht hochgeladen werden!";
}
}
else {
echo "Die Datei darf nur eine Größe von 10 Megabyte besitzen.";
}
}
else {
echo "Die Datei besitzt keine ungültige Endung.";
}
}
else {
echo "Keine Datei angegeben.";
}
}
else {
echo "Maxsize " . $max_byte_size . " ";
}
?>

- DasFragezeichen
- Mitglied
- Beiträge: 402
- Registriert: 28.08.2005 19:51