Alle Pfade auf einmal in DB speichern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alternativ
bild
database
einzelnen pfade
einzige fehler
fehler
folgendes speichern
formular
hat
insert
laden
not
ordner
pfad
resource
set
speicher
ups
wrapper
zuviel
-
Da bin ich wieder mit ner neuen Frage.
Und zwar m?chte ich, dass alle Bilder die in einem Ordner sind, auf einmal in die Datenbank eingetragen werden und jeder Pfad seine eigene id bekommt.
also kurz gefasst:
Alle Pfade zu den Bildern aus dem Ordner auslesen und mit id in Datenbank speichern.
Hat wer ne ahnung wie man das realisieren kann? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
vielleicht schriebst du ein upload prpgramm und das schreibt auch den namen des bildes in die datenbank oder generiert eine ID oder so was ....
meinst du so was? -
naja, also net wirklich, ich will ja net alles von hand eingeben. der soll das schon automatisch machen
also im rpinzip will ich nur n formular haben, wo ich den ordnerpfad habe, und das formular ?bergibt an den ordnerpfad an die php-funktion, die alle einzelnen pfade aus dem ordner in die datenbank eintr?gt.... -
Bilder in einer Datenbank zu speichern ist nicht gut. Dies verlangt zuviel traffic und verlangsamt das Laden deiner Website. Du kannst in die Datenbank ja folgendes speichern:
id|Pfad zum Bild|Bildname -
$dh = opendir($_POST["pfad"]);
while ($file = readfile($dh)) {
if (is_file($file)) {
mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
}
}
closedir($dh);
speichert das jetzt die bilder an sich in der DB oder nur die pfade?
Bilder in einer Datenbank zu speichern ist nicht gut. Dies verlangt zuviel traffic und verlangsamt das Laden deiner Website. Du kannst in die Datenbank ja folgendes speichern:
id|Pfad zum Bild|Bildname
hatte ich ja auch vor -
ich glaub den pfad, da steht ja auch das er das in pfad einsetzten soll, aber am besten sollte sich der poster dazu ?u?ern
achja probs doch aus
mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'"); -
nur die pfade nat?rlich. willst du die bilder speichrn
-
naja, gehen tut es net passiert einfach nichts.... wird nichts inne db eingetragen
-
tja dann musst du halt mal ein bischen debuggen!
1. besteht ?berhaupt eine datenbankverbindung?
2. mal schaun ob die schleife l?uft
3. mal schaun ob die if abfrage geht
4. schaun ob das query fehlerhaft is
5. fehler korrigieren
[php]
mysql_connect("host","user","pwd");
mysql_select_db("database");
$dh = opendir($_POST["pfad"]);
while ($file = readfile($dh)) {
echo "$file";
if (is_file($file)) { // alternativ: $file != "." && $file != ".."
echo " - is file";
mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
echo " - mysql_error: ".mysql_error();
}
echo "<br>\n";
}
closedir($dh);
[/php]
du kannst doch nicht einfach nen code kopieren den sich hier jemand aus den fingern saugt und erwarten das der sofort geht... -
damit hab ich auch wahrlich nicht gerechnet ^^
der einzige fehler der kommt lautet: Warning: closedir(): supplied argument is not a valid Directory resource in /home/webpages/lima-city/shakal/html/insertpics.php on line 20
wenn ich das aus dem script herausnehme, dann passiert, wie gesagt, nichts.... -
oh man... $_POST["pfad"] ist eine varible.
wenn du die nicht zuweist is die leer und erversucht den ordner "" zu ?ffnen was er nat?rlich nicht schafft!
$_POST is ein array mit den variabeln die das script ?ber post empfangen hat. also die felder eines formulars z.b.
if (isset($_POST["pfad"])) {
mysql_connect("host","user","pwd");
mysql_select_db("database");
$dh = opendir($_POST["pfad"]);
while ($file = readfile($dh)) {
echo "$file";
if (is_file($file)) { // alternativ: $file != "." && $file != ".."
echo " - is file";
mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
echo " - mysql_error: ".mysql_error();
}
echo "<br>\n";
}
closedir($dh);
}
else{
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<input name="pfad">
<input type="submit" value="Ok">
<?php
} -
k, kann man ja net wissen, dass ich das mit nem formular machen soll.... h?ttest mir sgen k?nnen
nun ja.... fehler: Warning: opendir(): URL file-access is disabled in the server configuration in /home/webpages/lima-city/shakal/html/insertpics.php on line 12
Warning: opendir(http://shakal.xardas.lima-city.de/bowling/thumbs/): failed to open dir: no suitable wrapper could be found in /home/webpages/lima-city/shakal/html/insertpics.php on line 12
daraus schlie?e ich, das geht net auf dem server, oder? -
doch du darfst nur keine url angeben sondern musst einen relativen pfad angeben.
wenn das script jetzt auf www.bsp.de/script.php liegt und du die bilder aus dem ordner www.bsp.de/bilder auflisten willst musst du einfach nur "bilder" eingeben -
hatte ich auch ausprobiert, kam n anderer fehler:
Warning: readfile(): Unable to access Resource id #3 in /home/webpages/lima-city/shakal/html/insertpics.php on line 13
Warning: readfile(Resource id #3): failed to open stream: No such file or directory in /home/webpages/lima-city/shakal/html/insertpics.php on line 13 -
ups! du musst das readfile gegen ein readdir austauschen ;) mein fehler ;)
if (isset($_POST["pfad"])) {
mysql_connect("host","user","pwd");
mysql_select_db("database");
$dh = opendir($_POST["pfad"]);
while ($file = readdir($dh)) {
echo "$file";
if (is_file($_POST["pfad"]."/$file")) { // alternativ: $file != "." && $file != ".."
echo " - is file";
mysql_query("INSERT INTO bilder SET pfad='".$_POST["pfad"]."/$file'");
echo " - mysql_error: ".mysql_error();
}
echo "<br>\n";
}
closedir($dh);
}
else{
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<input name="pfad">
<input type="submit" value="Ok">
<?php
}
Beitrag ge?ndert am 13.12 18:00 von kroko -
jetzt hats geklappt bin ich sehr gl?cklich dr?ber. erleichtert meine arbeit doch enorm. vielen dank :D
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage