WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 19.05.2002, 16:29   #11
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Lieber kikakater: Tschuldigung, aber das ist ein Blödsinn.

Mit dem file-Schema (file:.....) kann man nur Files auf dem lokalen Rechner, auf dem der Browser läuft, referenzieren.

Eine "absoluter"-URI besteht aus "<scheme>:<scheme-specific-part>", also bei http aus "http://Servername_oder_IP-Adresse/Pfad_zu_Datei/Datei", für eine gif-Datei am WCM-WebServer zum Beipiel "http://www.wcm.at/bilder/200205/0ti4200.jpg".
Wenn die HTML-Datei, in der ich das Bild einbauen will, im root-Verzeichnis des WebServers steht, reicht bei vorigem Beispiel "bilder/200205/0ti4200.jpg", oder wenn ich im Verzeichnis "html" bin ein "../bilder/200205/0ti4200.jpg", um auf das Bild über eine relative URI zuzugreifen.

Siehe auch
http://www.rfc-editor.org/rfc/rfc1630.txt
und
http://www.rfc-editor.org/rfc/rfc2396.txt
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 21.05.2002, 16:34   #12
MUCH
Elite
 
Registriert seit: 11.08.2000
Beiträge: 1.412


MUCH eine Nachricht über ICQ schicken
Standard Gelöst!

Unter http://www.phpbuilder.com/columns/fl...3?print_mode=1 habe ich das für mich passende im Quelltext gefunden

danke Euch allen für die aufgebrachte Geduld mit mir "PHP-mySQL-Dummy"!
____________________________________
Liebe Grüsse

Michi
MUCH ist offline   Mit Zitat antworten
Alt 25.05.2002, 09:21   #13
MUCH
Elite
 
Registriert seit: 11.08.2000
Beiträge: 1.412


MUCH eine Nachricht über ICQ schicken
Standard Filetypen unter "Datei auswählen" beschränken

...obwohl ich bereits google bemühte, wurde ich leider nicht fündig, darum nochmals hier:

Dies ist natürlich nur eine kleine optische Korrektur -

Wie kann ich meinem Dateiauswahlfeld mitteilen, dass der eingebenden Person beim Auswählen der upload-Datei z.B. nur Dateien vom Typ *.jpg und *.gif angezeigt werden sollen?

danke!
____________________________________
Liebe Grüsse

Michi
MUCH ist offline   Mit Zitat antworten
Alt 25.05.2002, 10:10   #14
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

AFAIK ist das mit HTML-Mitteln nicht möglich.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 28.05.2002, 12:12   #15
kingchaos01
Veteran
 
Registriert seit: 30.09.2000
Beiträge: 267


Standard spät aber...

ich muss mal die provokante frage stellen:
wozu soll man eine binär-datei in eine datenbank reinwürgen, um sie dann mit header und allem drum un dran wieder mühsam auszulesen, wenn es dafür auch ein altes aber gutes ding namens "filesystem" gibt. kikakater hats ja schon angesprochen.

dafür ist die datenbank nicht gedacht.
dafür wurde das filesystem erfunden.

man lege also in der datenbank ein feld namens "dateiname" und meinetwegen auch noch irgendwelche metafelder an, und speichere das bild als bild, wie es sich gehört.

my 2 cents
roland
kingchaos01 ist offline   Mit Zitat antworten
Alt 28.05.2002, 13:04   #16
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Der Grund um so etwas zu tun heißt Datenkapselung, Betriebssystemunabhängigkeit, Verbergen von Daten mittels SQL im Gegensatz zu Java Servlets und Dateizugriff. Einfacher ist es für homogene Systeme die Bilder vom Dateisystem aus zu laden und sich derart des Streßes mit der Verwaltung der Bilder in der Datenbank zu entledigen.
kikakater ist offline   Mit Zitat antworten
Alt 19.06.2002, 13:04   #17
MUCH
Elite
 
Registriert seit: 11.08.2000
Beiträge: 1.412


MUCH eine Nachricht über ICQ schicken
Standard ich folge Euch und möchte mein Bild im filesystem ablegen...

Liebe Gemeinde,


nachdem das Projekt länger geruht hat, wird es wieder aktuell...

Nun habe ich Euren Rat beherzigt und möchte das Bild nicht in die DB reinquetschen, sondern ins Filesystem legen:

NUR: Auch nach GENAUEM Lesens der Tips von "_m3" bringe ich das Bild nicht ins Filesystem???


Hier mein Ansatz:

Ich habe meine Eingabefelder in einem FORM-Feld (für die Eingabe der Daten und des Bildes)
Auszug daraus:
Code:
    <INPUT type="hidden" name="MAX_FILE_SIZE" value="62000">
    <input type="file" name="userfile">
    <input type="submit" name="submit" value="Meine Daten übertragen">
    </form>
Abgeschaut aus dem link von "_m3" habe ich folgendes:

Ich möchte nun, dass das lokale Bild ins Dateisystem meines SQL-servers ins Unterverzeichnis "BILDER" übertragen wird:
Dieser Ordner heisst in meiner lokalen Testumgebung "H:\APACHE\mysql\data\VDB\Bilder"
(Die Datenbank selbst hat den Namen "VDB" bzw. der für mich relevante Table "adressen", der halt im Ordner "H:\APACHE\mysql\data\VDB\" liegt)


Im bereits oben zitierten PHP habe ich folgende Zeilen zwecks Übergabe der Daten eingebaut:
Code:
if ($submit) {
    MYSQL_CONNECT("localhost",$dbuser,$dbpasswd) or die ("Datenbankzugriff derzeit nicht möglich...");
    mysql_select_db($db);

if ($userfile<>"none"){
$Bild = $HTTP_POST_FILES['userfile']['name'];
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name']))
{copy($HTTP_POST_FILES['userfile']['tmp_name'], "/Bilder");}
else
{echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name'];}

$result=MYSQL_QUERY("INSERT INTO adressen(Haus, Mail, Bild) ".
    "VALUES ('$Haus', '$Mail', '$Bild')");    }
NUR: Das Bild kommt dort nie an???

Es erscheint aber auch keine Fehlermeldung gemäß "Possible file upload attack", der Bildname selbst ist natürlich in der Datenbank aufgenommen...


Danke für Eure Hilfe!!!
____________________________________
Liebe Grüsse

Michi
MUCH ist offline   Mit Zitat antworten
Alt 19.06.2002, 13:59   #18
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Kommt er überhaupt in die
if ($submit) {
hinein - sprich ist $submit TRUE?

Weiters solltest Du den Rückgabewert von
copy($HTTP_POST_FILES['userfile']['tmp_name'], "/Bilder");
abfangen und entsprechend auswerten. Und "/Bilder" sollte wohl eher dem kompletten Pfad inkl. Dateinamen das Files enstsprechen, wo du es hinkopieren willst.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 19.06.2002, 14:28   #19
MUCH
Elite
 
Registriert seit: 11.08.2000
Beiträge: 1.412


MUCH eine Nachricht über ICQ schicken
Standard

Es funktioniert fast:

Das submit passt - ich habe vergessen, den Dateinamen anzufügen:
{copy($HTTP_POST_FILES['userfile']['tmp_name'], "H:/APACHE/mysql/data/VDB/Bilder/$Bild") funktioniert...

Aber: mit "/bilder/$Bild" geht es nicht - gibt es da eine environment-Variable, da mir folgende Fehlermeldung kommt???

Warning: Unable to create '/bilder/testfoto.jpg': No such file or directory in h:\apache\apache\htdocs\eingabe.php on line 24

die sich auf den Pfad der PHP-Maske bezieht?

danke!
____________________________________
Liebe Grüsse

Michi
MUCH ist offline   Mit Zitat antworten
Alt 19.06.2002, 14:40   #20
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

"/bilder/$Bild" ist Unix-Notation. Damit speichert er das Bild Im Verzeichnis "bilder", das auf der ersten Eben unterhalb von "/" (so wie tmp, usr, ...) liegt, ab.

Entweder gibst Du den Pfad relativ zur Lokation des Scripts an
"../../mysql/data/VDB/bilder/$Bild"
oder eben ansolut
"H:/APACHE/mysql/data/VDB/Bilder/$Bild".

Alles klar?
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:57 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag