Hi.
Hab da en kleines Problem. Würde gern über die Möglichkeit file_exists() abfragen ob ne bestimmte Datei sich in nem Ordner auf der Festplatte befindet. Die Sache ist nur dass egal wie ich den Pfad hinstell jedesmal false rauskommt.
Mit den 3 Möglichkeiten hab ichs mal versucht. was anderes iss mir jez nich eingefallen.
c:/test/test.gif
c:\test\test.gif
hat" target="_blank">file://c:/test/test.gif
c:/test/test.gif
c:\test\test.gif
hat jemand nen plan wie ich das problem lösen kann?
File_exists?
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
gepostet vor 18 Jahre, 3 Monate von cr0w
if(file_exists('C:\ordner\unterordner\winter.jpg')){
echo "exestiert";
}else{
echo "exestiert nicht";
}
echo "exestiert";
}else{
echo "exestiert nicht";
}
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
hast es mal getestet?
denn wenn ichs so test gehts nich bzw kommt halt die nachricht vom false
denn wenn ichs so test gehts nich bzw kommt halt die nachricht vom false
gepostet vor 18 Jahre, 3 Monate von cr0w
klar habe ich getestet. funktioniert 100 pro. überprüfe mal deinen pfad. bzw groß und kleinschreibung ...
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
mein pfad stimmt und trotzdem funzt es ned.
das ganze funzt bei mir zwar aufm server aber nich über die festplatte.
das ganze funzt bei mir zwar aufm server aber nich über die festplatte.
gepostet vor 18 Jahre, 3 Monate von None
Also wie genau? Die Datei liegt auf dem selben Rechner auf dem der Apache läuft? Wenn nicht - glaub nicht das es dann so geht. Dein Freund könnte getcwd() sein.
Gutes Gelingen...
Gutes Gelingen...
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
[quote="Cobalt"]Also wie genau? Die Datei liegt auf dem selben Rechner auf dem der Apache läuft?
ich will vom server (auf dem apache läuft) aus prüfen ob ne bestimmte datei auf meiner festplatte existiert. eigentlich sollte das schon möglich sein. bloß klappts bisher nich ganz
ich will vom server (auf dem apache läuft) aus prüfen ob ne bestimmte datei auf meiner festplatte existiert. eigentlich sollte das schon möglich sein. bloß klappts bisher nich ganz
gepostet vor 18 Jahre, 3 Monate von knalli
Du willst von deinem Server aus auf DEINE Festplatte zugreifen? Das habe ich jetzt aber falsch verstanden?
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
ne haste nich. ich kann ja auch bilder von meiner festplatte laden. also will ich somit überprüfen ob en bestimmtes bild in nem ordner iss.
gepostet vor 18 Jahre, 3 Monate von Störti
Wenn du auf deinem Server, wo Apache läuft, die PHP-Funktion file_exists() aufrufst, prüft der doch im Verzeichnisstamm des Servers, ob da die Datei existiert und nicht auf deinem eigenen PC (also auf dem Client-PC).
Der Server ist weit weg und kann zum Glück auf deinem PC nichts suchen oder gar finden.
Wenn du Bilder von deinem PC hochlädst, machst du das per HTTP-Upload, d.h. du hast ein Eingabefeld, bei dem ein Durchsuchen-Button dabei ist und der Browser schickt dann automatisch die ausgewählte Datei selbst rüber. Irgendwelche beliebigen Dateien kannst du so nicht hochladen oder sehen...
Der Server ist weit weg und kann zum Glück auf deinem PC nichts suchen oder gar finden.
Wenn du Bilder von deinem PC hochlädst, machst du das per HTTP-Upload, d.h. du hast ein Eingabefeld, bei dem ein Durchsuchen-Button dabei ist und der Browser schickt dann automatisch die ausgewählte Datei selbst rüber. Irgendwelche beliebigen Dateien kannst du so nicht hochladen oder sehen...
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
ok da hast schon recht. hab gehofft dass es da doch ne möglichkeit gibt.
dann iss meine frage: wie kann ich das per script prüfen ob ein ordner oder ne datei auf meiner festplatte existiert damit ich weiss dass ich meine bilder aus dem richtigen verzeichnis lade?
dann iss meine frage: wie kann ich das per script prüfen ob ein ordner oder ne datei auf meiner festplatte existiert damit ich weiss dass ich meine bilder aus dem richtigen verzeichnis lade?
gepostet vor 18 Jahre, 3 Monate von Klaus
WIMRE überhaupt nicht. Du kannst lediglich mit JS überprüfen, ob ein Bild im Browser erfolgreich geladen wurde und dann evtl. mit Ajax ein pläuschchen starten.
Die Methode complete des Image-Objekts bringt aber in Firefox kein vernünftiges Ergebniss zutage, deswegen ist die Möglichkeit mir Vorsicht zu genießen.
Die Methode complete des Image-Objekts bringt aber in Firefox kein vernünftiges Ergebniss zutage, deswegen ist die Möglichkeit mir Vorsicht zu genießen.
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
jo genau des wollt ich wissen mit was ich das realisieren kann.
aber das wird auch bei firefox funzen. mann muss nur ein paar einstellungen an der config vornehmen
aber das wird auch bei firefox funzen. mann muss nur ein paar einstellungen an der config vornehmen
gepostet vor 18 Jahre, 3 Monate von Klaus
Das würde mich mal interessieren funktioniert, denn das Verhalten soll fest im Mozarella Frickelfox sein.
vgl. de.selfhtml.org/javascript/objekte/images.htm#complete
vgl. de.selfhtml.org/javascript/objekte/images.htm#complete
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
irgend ne möglichkeit muss es geben dass man das in allen browsern testen kann. ob mit complete oder ohne.
gepostet vor 18 Jahre, 3 Monate von cr0w
per php kannste net auf einen client rechner zugreifen!!! bau dir einfach ein formular wo du dann halt den pfad und datei wählen kannst. somit ist sichergestellt das es die datei auch lokal auf deinem rechner gibt. dann schicke sie dann an den server. ich habe dazu immer ne ftp verbindung aufgebaut. geht aber auch anders. fals du nen beispiel fürn ftp upload möchtest sag bescheid.
andernfals siehe stortie. zu deiner frage storties post betreffend. du brauchst nicht überprüfen ob die datei vorhanden ist. da du sie ja auf dem client rechner auswählst. weiterhin kannst du dann prüfen ob der upload auf dem server erfolgreich war. quasi haste dann alles was dein herz begehrt.
andernfals siehe stortie. zu deiner frage storties post betreffend. du brauchst nicht überprüfen ob die datei vorhanden ist. da du sie ja auf dem client rechner auswählst. weiterhin kannst du dann prüfen ob der upload auf dem server erfolgreich war. quasi haste dann alles was dein herz begehrt.
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
ähm, hallo??
hab ich gesagt ich will was uploaden??? ich red hier ned von uploaden. wenn ich was uploaden will mach ich das per ftp. außerdem weiss ich nun auch dass man keine verbindung zum client aufbauen kann und du ja wohl nun auch nachdem du vorhin behauptet hast deine lösung würde 100%ig gehn und dazu noch behauptest hast du hättest es getestet!!!
mir gehts generell drum dateien von der festplatte zu laden fürn grafikpaket und da soll geprüft werden ob das der richtige ordner iss aus dem die dateien geladen werden sollen.
hab ich gesagt ich will was uploaden??? ich red hier ned von uploaden. wenn ich was uploaden will mach ich das per ftp. außerdem weiss ich nun auch dass man keine verbindung zum client aufbauen kann und du ja wohl nun auch nachdem du vorhin behauptet hast deine lösung würde 100%ig gehn und dazu noch behauptest hast du hättest es getestet!!!
mir gehts generell drum dateien von der festplatte zu laden fürn grafikpaket und da soll geprüft werden ob das der richtige ordner iss aus dem die dateien geladen werden sollen.
gepostet vor 18 Jahre, 3 Monate von Störti
Jetzt noch einmal konkret:
Du kannst meines Wissens mit keiner vom Browser verstandenen Sprache prüfen, ob ein Verzeichnis oder eine Datei auf dem lokalen Client-PC existiert.
Eine Möglichkeit, sowas zu machen, wäre ein Java-Applet (oder?), aber die Ausführung eines solchen Programms wird oft von den Browsern unterbunden oder lässt zumindest eine fette "Achtung, das könnte auch ein Virus sein!"-Warnung erscheinen, die jeden User misstrauisch werden lässt.
Also davon blos Finger weg (ausserdem wär das viel zu viel Aufwand).
Wie Klaus schon sagte, hat bei einigen Browsern (nicht beim FF) das Image-Objekt die Eigenschaft complete, wo man abrufen kann, ob das Bild fertig geladen wurde. Wenn das nicht der Fall ist, kann man dann per AJAX oder location.href den Server informieren, dass mit dem GFX-Pack was nicht stimmen könnte. Da der FF das aber nicht kann (und die config des FF ändern nur irgendwelche Pro's oder Freaks, aber keine "normalen" Leute), würde ich davon auch ablassen.
Fazit: keine Lösung gefunden!
Du kannst meines Wissens mit keiner vom Browser verstandenen Sprache prüfen, ob ein Verzeichnis oder eine Datei auf dem lokalen Client-PC existiert.
Eine Möglichkeit, sowas zu machen, wäre ein Java-Applet (oder?), aber die Ausführung eines solchen Programms wird oft von den Browsern unterbunden oder lässt zumindest eine fette "Achtung, das könnte auch ein Virus sein!"-Warnung erscheinen, die jeden User misstrauisch werden lässt.
Also davon blos Finger weg (ausserdem wär das viel zu viel Aufwand).
Wie Klaus schon sagte, hat bei einigen Browsern (nicht beim FF) das Image-Objekt die Eigenschaft complete, wo man abrufen kann, ob das Bild fertig geladen wurde. Wenn das nicht der Fall ist, kann man dann per AJAX oder location.href den Server informieren, dass mit dem GFX-Pack was nicht stimmen könnte. Da der FF das aber nicht kann (und die config des FF ändern nur irgendwelche Pro's oder Freaks, aber keine "normalen" Leute), würde ich davon auch ablassen.
Fazit: keine Lösung gefunden!
gepostet vor 18 Jahre, 3 Monate von cr0w
habja net gewußt das du versuchst per php von einem server aufn client zuzugreifen willst ^^. das habschmal gänzlich ausgeschlossen. dazu wäre ja mal umfansende erläuterung hilfreich gewesen... nochmal: php ist serverseitig und hat aufn client rechner nix zu suchen.
gepostet vor 18 Jahre, 3 Monate von Störti
Original von cr0wmit javascript kannste dann was erreichen sofern der user dies zuläßt.
Javascript läuft im Sandbox-Mode und hat keinen Zugriff auf das Dateisystem des PC's.
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
LOL... haja klar.. du hast ned gewusst dass ich das von der Festplatte machen will.. deswegen hast du auch als Pfad C:\... angegeben !!!!
rausreden kannst dich woanders. wenn de mir ned weiterhelfen kannst brauchst nix mehr zu posten in dem topic!
rausreden kannst dich woanders. wenn de mir ned weiterhelfen kannst brauchst nix mehr zu posten in dem topic!
gepostet vor 18 Jahre, 3 Monate von cr0w
grade auch bemerkt und desshalb schon rauseditiert. es gibt noch paar andere möglichkeiten diese sind dann aber auch nur mit der niedrigsten sicherheitsstufe und dem ie möglich. quasi wirste kein erfolg haben. client rechner sind halt heilig. bloß gut.^^
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
es gibt auf jeden fall ne möglichkeit. ich kenn en spiel die haben das auch so realisiert. die frage ist nur wie.
gepostet vor 18 Jahre, 3 Monate von cr0w
Original von pHoEnIx-sTyLe
LOL... haja klar.. du hast ned gewusst dass ich das von der Festplatte machen will.. deswegen hast du auch als Pfad C:\... angegeben !!!!
rausreden kannst dich woanders. wenn de mir ned weiterhelfen kannst brauchst nix mehr zu posten in dem topic!
oO also wollte nur weiterhelfen ja, also komm mal runter. ich habe schleißlich nicht versucht per php was aufn server läuft aufn client rechner zuzugreifen. ganze funzt wenn server und client ein rechner ist. das hat nix mit rausreden zu tun. janz nebenbei solltest an deiner art und weise arbeiten, wenn man dir versucht zu helfen. so kommste nicht weiter.
gepostet vor 18 Jahre, 3 Monate von Störti
Original von pHoEnIx-sTyLe
LOL... haja klar.. du hast ned gewusst dass ich das von der Festplatte machen will.. deswegen hast du auch als Pfad C:\... angegeben !!!!
rausreden kannst dich woanders. wenn de mir ned weiterhelfen kannst brauchst nix mehr zu posten in dem topic!
Wieso ist das denn von vornherein klar, dass ein 'C:\' auomatisch Client heissen soll? Es gibt PHP und ich glaub auch sogar Apache für Windoof, auch wenn das kaum einer nutzt...
Ausserdem kann man eine eventuelle Unkenntnis eines anderen auch höflicher feststellen...
Original von pHoEnIx-sTyLe
es gibt auf jeden fall ne möglichkeit. ich kenn en spiel die haben das auch so realisiert. die frage ist nur wie.
Gib mal nen Link...
Wenn das gehen sollte, wäre das ein fatales Leck in jedem Sicherheitskonzept...
PS: Redet doch nicht so schnell, ich komm mit dem zitieren gar nicht hinterher...
gepostet vor 18 Jahre, 3 Monate von Störti
EDIT: bitte löschen, hab mich vertan...
gepostet vor 18 Jahre, 3 Monate von cr0w
richtig. ich habe local ein apache zu laufen, ergo is mein server und mein client ein rechner und es funzt. nix anderes habe ich aus deiner fragestellung herausgelesen. nur das du prüfen willst ob auf dem rechner wo apache läuft eine datei vorhanden ist.
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
gepostet vor 18 Jahre, 3 Monate von Störti
OK, ich muss mich korrigieren:
Mit Flash hast du scheinbar die Möglichkeit, zu prüfen, ob ein Bild korrekt geladen wurde (und da Flash ein Plugin ist, ist das auch browserunabhängig). Mit Flash kannst du dann widerrum zur Laufzeit eine Verbindung zum Server herstellen und entsprechende Infos weiterreichen.
Aber ob du wegen sowas exra Flash einbauen solltest, halte ich für SEHR unsinnig. Dafür ist dein Problem nur ein nettes Gimmick...
Mit Flash hast du scheinbar die Möglichkeit, zu prüfen, ob ein Bild korrekt geladen wurde (und da Flash ein Plugin ist, ist das auch browserunabhängig). Mit Flash kannst du dann widerrum zur Laufzeit eine Verbindung zum Server herstellen und entsprechende Infos weiterreichen.
Aber ob du wegen sowas exra Flash einbauen solltest, halte ich für SEHR unsinnig. Dafür ist dein Problem nur ein nettes Gimmick...
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
ja das stimmt deswegen flash einzubauen find ich auch eher zu umständlich. aber ich glaub ich hab ne möglichkeit gefunden. muss ich aber erstmal testen.
trotzdem thx für die hilfe
ne frage zu meiner möglichen Lösung noch kurz:
Wenn ich ne datei hochladen will dann ist das bei Mozilla und dem IE unterschiedlich. Beim IE wird zum beispiel der ganze pfad weitergegeben woher die datei kommt. bei Mozilla wird nur der Dateiname weitergegeben. Ist es möglich den ganzen Pfad bei Mozilla zu übermitteln?
trotzdem thx für die hilfe
ne frage zu meiner möglichen Lösung noch kurz:
Wenn ich ne datei hochladen will dann ist das bei Mozilla und dem IE unterschiedlich. Beim IE wird zum beispiel der ganze pfad weitergegeben woher die datei kommt. bei Mozilla wird nur der Dateiname weitergegeben. Ist es möglich den ganzen Pfad bei Mozilla zu übermitteln?
gepostet vor 18 Jahre, 3 Monate von exe
de.selfhtml.org/javascript/objekte/images.htm#complete
Wie du aber der Anmerkung entnehmen kannst funktioniert das ganze nicht wirklich zufriedenstellend in den verschiedenen Browsern.
Eine andere Idee die, möglicherweise, funktionieren könnte: wenn du ein Grafikpack über die Art von der lokalen Festplatte des Users lädst wird da sicher ein Stylesheet dabei sein. Dann machst du dir via JavaScript einen Eventhandler auf window.onload (Dokument fertig geladen). Wenn das der Fall ist prüfst du via JavaScript ein paar Styledefinitionen der via CSS formatierten Elemente ab. Wenn die Formatierungen aus der externen CSS-Datei da sind wurde sie richtig geladen, der Pfad zum externen Grafikpack stimmt also.
Vorraussetzungen das das funktioniert:
1. Styledefinitionen die über externe CSS-Files geladen wurden werden in den Javascript-Eigenschaften der entsprechenden Elemente ebenfalls gesetzt.
2. Die Browser verstecken Eigenschaften die aus externen Quellen kommen nicht aus Sicherheitsgründen.
Nur zwei fixe Ideen, hab das weder getestet noch schonmal benutzt.
//Edit: mit dem externen CSS funktionierts nicht, aber mit einer anderen Variante: du lädst ein externes JavaScript welches während dem Laden des Dokuments eine bestimmte CSS-Eigenschaft setzt. Wenn das Dokument fertig geladen ist prüfst du mit einem weiteren JavaScript ob diese Eigenschaft gesetzt wurde. Wenn ja konnte das externe File geladen werden, wenn nicht stimmt entweder der Pfad nicht oder JavaScript ist deaktiviert.
test.html
Test
Blah
style.js
Eventuell muss man das JS etwas anpassen damits browserübergreifend funktioniert, habs jetzt nur in Firefox 1.5 schnell ausprobiert.
Ist zwar ein etwas zusammengehackter Workaround aber anders wirst du es wahrscheinlich auch nicht hinkriegen.
Wie du aber der Anmerkung entnehmen kannst funktioniert das ganze nicht wirklich zufriedenstellend in den verschiedenen Browsern.
Eine andere Idee die, möglicherweise, funktionieren könnte: wenn du ein Grafikpack über die Art von der lokalen Festplatte des Users lädst wird da sicher ein Stylesheet dabei sein. Dann machst du dir via JavaScript einen Eventhandler auf window.onload (Dokument fertig geladen). Wenn das der Fall ist prüfst du via JavaScript ein paar Styledefinitionen der via CSS formatierten Elemente ab. Wenn die Formatierungen aus der externen CSS-Datei da sind wurde sie richtig geladen, der Pfad zum externen Grafikpack stimmt also.
Vorraussetzungen das das funktioniert:
1. Styledefinitionen die über externe CSS-Files geladen wurden werden in den Javascript-Eigenschaften der entsprechenden Elemente ebenfalls gesetzt.
2. Die Browser verstecken Eigenschaften die aus externen Quellen kommen nicht aus Sicherheitsgründen.
Nur zwei fixe Ideen, hab das weder getestet noch schonmal benutzt.
//Edit: mit dem externen CSS funktionierts nicht, aber mit einer anderen Variante: du lädst ein externes JavaScript welches während dem Laden des Dokuments eine bestimmte CSS-Eigenschaft setzt. Wenn das Dokument fertig geladen ist prüfst du mit einem weiteren JavaScript ob diese Eigenschaft gesetzt wurde. Wenn ja konnte das externe File geladen werden, wenn nicht stimmt entweder der Pfad nicht oder JavaScript ist deaktiviert.
test.html
Test
Blah
style.js
document.getElementById('testdiv').style.backgroundColor = 'rgb(0, 120, 250)';
Eventuell muss man das JS etwas anpassen damits browserübergreifend funktioniert, habs jetzt nur in Firefox 1.5 schnell ausprobiert.
Ist zwar ein etwas zusammengehackter Workaround aber anders wirst du es wahrscheinlich auch nicht hinkriegen.
gepostet vor 18 Jahre, 3 Monate von Kampfhoernchen
Gabs da net mal n Event onLoadError() oder so?
gepostet vor 18 Jahre, 3 Monate von exe
Zumindest nicht in JavaScript. Meinst du vielleicht ActionScript?
gepostet vor 18 Jahre, 3 Monate von gorgo
doch doch gibts...kannst du direkt als Tag angeben wie onclick usw..
Damit hab ich schon einmal experimentiert. Funktioniert aber nur solange Grafik vom server geladen wird. bei lokalen Grafiken verweigert es komplett seinendienst (testet mit FF..da dies eben nicht funktionierte garnicht erst im IE geprüft)
Damit hab ich schon einmal experimentiert. Funktioniert aber nur solange Grafik vom server geladen wird. bei lokalen Grafiken verweigert es komplett seinendienst (testet mit FF..da dies eben nicht funktionierte garnicht erst im IE geprüft)
gepostet vor 18 Jahre, 3 Monate von exe
Nein, gibts nicht. Weder in den diversen JS-Dokumentationen noch in den Browsern. Zumindest nicht FF und IE. Es gibt solche Funktionen in manchen AJAX-Bibliotheken, so dass man 404-Fehler abfangen kann ...
gepostet vor 18 Jahre, 3 Monate von Itchy
Hmm - evtl. eine Idee (nicht getestet, nur eben eingefallen). Kann man über ein JS auf dem Clientrechner aufrufen?
Also man gibt in dem Paket, das sich der User installieren soll, ein JavaScript File mit, dieses würde über
aufgerufen und dort werden irgendwelche Variablen gesetzt. Über das Vorhandensein dieser Variablen könnte man dann entscheiden, ob das Paket installiert ist oder nicht. Natürlich könnte es sein, daß der User nur das Skript drinnen hat und die Bilder nicht, aber wer sowas macht, ist dann selber schuld (es geht hier doch um Grafikpakete, oder?).
Also man gibt in dem Paket, das sich der User installieren soll, ein JavaScript File mit, dieses würde über
aufgerufen und dort werden irgendwelche Variablen gesetzt. Über das Vorhandensein dieser Variablen könnte man dann entscheiden, ob das Paket installiert ist oder nicht. Natürlich könnte es sein, daß der User nur das Skript drinnen hat und die Bilder nicht, aber wer sowas macht, ist dann selber schuld (es geht hier doch um Grafikpakete, oder?).
gepostet vor 18 Jahre, 3 Monate von Störti
Kann man dann nicht auch einfach nen Javascript laden, welches eine Variable gfxPath auf TRUE setzt?
Wenn das Script korrekt geladen wurde, ist die Variable auf true, ansonsten auf false (muss dann vorher definiert werden).
edit: verdammt, um Sekunden zu langsam...
Wenn das Script korrekt geladen wurde, ist die Variable auf true, ansonsten auf false (muss dann vorher definiert werden).
edit: verdammt, um Sekunden zu langsam...
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
[quote="Kampfhoernchen"]Gabs da net mal n Event onLoadError() oder so?
Hab mal was gelesen dass es onError gibt. weiss aber nicht ob das zuverlässig funktioniert.
[quote="Itchy"]...(es geht hier doch um Grafikpakete, oder?).
Jop genau.
Hört sich alles schonmal sehr gut an. Damit kann ich auf jeden Fall was anfangen. Thx
Nur gibts nur noch ein Problem:
Ich möchte dass der User über z.B ne bestimmte Datei aus dem Ordner auswählt. Das vereinfacht einfach die Sache dass man nicht den Pfad erst kopieren muss und dann ins Formularfeld einfügen muss. Nur bei Mozilla übergibt er nicht den Pfad sondern nur die ausgewählte datei. Gibts dafür ne Lösung?
Hab mal was gelesen dass es onError gibt. weiss aber nicht ob das zuverlässig funktioniert.
[quote="Itchy"]...(es geht hier doch um Grafikpakete, oder?).
Jop genau.
Hört sich alles schonmal sehr gut an. Damit kann ich auf jeden Fall was anfangen. Thx
Nur gibts nur noch ein Problem:
Ich möchte dass der User über z.B ne bestimmte Datei aus dem Ordner auswählt. Das vereinfacht einfach die Sache dass man nicht den Pfad erst kopieren muss und dann ins Formularfeld einfügen muss. Nur bei Mozilla übergibt er nicht den Pfad sondern nur die ausgewählte datei. Gibts dafür ne Lösung?
gepostet vor 18 Jahre, 3 Monate von exe
Du könntest den Wert des File-Elements via JavaScript auslesen und an den Server schicken. Man kann zwar aus Sicherheitsgründen nicht schreibend auf den Inhalt eines File-Elements zugreifen, aber lesend geht (zumindest im FF).
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
Original von exe
Du könntest den Wert des File-Elements via JavaScript auslesen und an den Server schicken. Man kann zwar aus Sicherheitsgründen nicht schreibend auf den Inhalt eines File-Elements zugreifen, aber lesend geht (zumindest im FF).
ok. könnt ich mal versuchen.
nur geb ich ehrlich zu dass ich JavaScript nich großartig kann^^.
Könntest mir nen kleinen Ansatz geben?
gepostet vor 18 Jahre, 3 Monate von Itchy
Ganz schnell und häßlich, aber ich denke, der Sinn wird klar:
File
File
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
ok thx. werd das gleich mal prüfen ob das alles einwandfrei läuft wie ich mir das nun überlegt hab
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
Also ich hab das Problem nun folgendermaßen gelöst:
Der User wählt eine Datei (upload_test.gif) aus seinem Installationsordner aus. Es wird dann geprüft ob diese Datei auf dem Server in nem bestimmten Ordner vorhanden ist. Wenn der User eine andere Datei auswählt wird ihm zurückgegeben dass es nicht die richtige Datei war.
Jetzt kann man natürlich sagen: "Der User kann sich ja eine Datei umbennen und diese aus einem anderen Ordner laden/auswählen."
Das ist ja im Prinzip schon möglich, aber wer macht das schon? Damit bescheisst derjenige sich ja selber und die Bilder werden bei ihm aus dem falschen Ordner geladen.
Denk mal das ist die einfachste Methode mit wenig Umstand das zu prüfen.
Der User wählt eine Datei (upload_test.gif) aus seinem Installationsordner aus. Es wird dann geprüft ob diese Datei auf dem Server in nem bestimmten Ordner vorhanden ist. Wenn der User eine andere Datei auswählt wird ihm zurückgegeben dass es nicht die richtige Datei war.
Jetzt kann man natürlich sagen: "Der User kann sich ja eine Datei umbennen und diese aus einem anderen Ordner laden/auswählen."
Das ist ja im Prinzip schon möglich, aber wer macht das schon? Damit bescheisst derjenige sich ja selber und die Bilder werden bei ihm aus dem falschen Ordner geladen.
Denk mal das ist die einfachste Methode mit wenig Umstand das zu prüfen.
gepostet vor 18 Jahre, 3 Monate von knalli
Vielleicht habe ich das jetzt irgendwie übersehen.. aber warum willst du eigentlich wissen, ob Datei X vorhanden ist?
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
somit prüf ich ob der richtige installationspfad gewählt wurde. nicht dass derjenige sich dann ohne grafiken bis zu den einstellungen wieder durchsuchen muss.
gepostet vor 18 Jahre, 3 Monate von knalli
Aber das lokale Grafikpakete mit einigen neuen Browsern prinzipiell nicht funktionieren, ist dir bewusst? Mag sein, dass man das irgendwo umstellen kann, aber nicht jeder unwissende Benutzer befolgt "irgendwelche" Einstellungen..
Oder bin ich am Thema komplett vorbei..?
Oder bin ich am Thema komplett vorbei..?
gepostet vor 18 Jahre, 3 Monate von exe
Nein, bist du nicht. Beim Firefox z.B. gehen lokale Skins erst nachdem man in der Konfiguration einen Schalter umlegt. Und das ganze auch nur via about:config, nicht über ein komfortables und erklärtes Konfigurationsmenü ...
gepostet vor 18 Jahre, 3 Monate von Drezil
seit v. 1.0 reicht about:config nimmer ..
da brauchste ne sicherheitszonondefinition in der user.js (wenns nur für den user gelten soll) oder in der all.js (für alle eben) ..
der ie ist offen wie nen scheunentor ..
opera erlaubt das afaik gar nicht .. kann mich aber auch irren ..
da brauchste ne sicherheitszonondefinition in der user.js (wenns nur für den user gelten soll) oder in der all.js (für alle eben) ..
der ie ist offen wie nen scheunentor ..
opera erlaubt das afaik gar nicht .. kann mich aber auch irren ..
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
Das mit der user.js und den config einstellungen weiss ich. Für Mozilla User wirds deshalb auch ne Installationsanleitung geben und user.js datei die im Grafik Pack mit dabei ist.
gepostet vor 18 Jahre, 3 Monate von KoMtuR
Hab es derzeit mal im IE und im FF getestet. Sicherlich ists nochn bissl ausbaufähig und wird sicherlich ein paar lücken geben.
Nehmen wir an du hast ein Splash-Screen (oder irgendein Bild, welches im Grafikpack liegt). Dieses Bild ist immer sozusagen der Indikator für das GP. Also das kann von GP-Version, zu GP-Version unterschiedlich sein.
Javascript mäßig ists nicht sehr schwer umzusetzen.
html-code:
Javascript-Code:
function check_gp() {
length = document.getElementById("gp-check").offsetWidth;
height = document.getElementById("gp-check").offsetHeight;
if((length == 100) && (height == 200)) { //hier die genauen Maße eintragen
//GP vorhanden
} else {
//GP nicht vorhanden. oder datei fehlt da irgendwie
}
}
So wenn du nun die Version 1.1 101 Pixel lang machst kannste sogar noch Versionsunterschiede feststellen. Hoffe das hilft
Nehmen wir an du hast ein Splash-Screen (oder irgendein Bild, welches im Grafikpack liegt). Dieses Bild ist immer sozusagen der Indikator für das GP. Also das kann von GP-Version, zu GP-Version unterschiedlich sein.
Javascript mäßig ists nicht sehr schwer umzusetzen.
html-code:
Javascript-Code:
function check_gp() {
length = document.getElementById("gp-check").offsetWidth;
height = document.getElementById("gp-check").offsetHeight;
if((length == 100) && (height == 200)) { //hier die genauen Maße eintragen
//GP vorhanden
} else {
//GP nicht vorhanden. oder datei fehlt da irgendwie
}
}
So wenn du nun die Version 1.1 101 Pixel lang machst kannste sogar noch Versionsunterschiede feststellen. Hoffe das hilft
gepostet vor 18 Jahre, 3 Monate von gorgo
Original von exe
Nein, gibts nicht. Weder in den diversen JS-Dokumentationen noch in den Browsern. Zumindest nicht FF und IE. Es gibt solche Funktionen in manchen AJAX-Bibliotheken, so dass man 404-Fehler abfangen kann ...
Oh dann hab ich das nur geträumt das ich das gemacht hab
Also wie gesagt kannst du mit onError bei einem Bild abfragen ob es korrekt geladen wurde (es heisst eben nicht onloaderror sondern einfach onerror guckst du)
Funktioniert aber eben nur im FF solange Grafiken vom selben server geladen werden.
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
Original von KoMtuR
Hab es derzeit mal im IE und im FF getestet. Sicherlich ists nochn bissl ausbaufähig und wird sicherlich ein paar lücken geben.
Nehmen wir an du hast ein Splash-Screen (oder irgendein Bild, welches im Grafikpack liegt). Dieses Bild ist immer sozusagen der Indikator für das GP. Also das kann von GP-Version, zu GP-Version unterschiedlich sein.
Javascript mäßig ists nicht sehr schwer umzusetzen.
html-code:
Javascript-Code:
function check_gp() {
length = document.getElementById("gp-check").offsetWidth;
height = document.getElementById("gp-check").offsetHeight;
if((length == 100) && (height == 200)) { //hier die genauen Maße eintragen
//GP vorhanden
} else {
//GP nicht vorhanden. oder datei fehlt da irgendwie
}
}
So wenn du nun die Version 1.1 101 Pixel lang machst kannste sogar noch Versionsunterschiede feststellen. Hoffe das hilft
Hab das ganze mal noch zusätzlich versucht. aber beim IE gibt der mir aus:
Das Objekt unterstützt diese Aktion nicht
gepostet vor 18 Jahre, 3 Monate von KoMtuR
komisch in meinem IE gehts ^^. Habs extra vorher getestet...
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
komisch. hab das ganze mal mit:
document. image["gp-check"].length
versucht und dem image den namen gp-check gegeben, aber da kommt der gleiche fehler.
document. image["gp-check"].length
versucht und dem image den namen gp-check gegeben, aber da kommt der gleiche fehler.
gepostet vor 18 Jahre, 3 Monate von pHoEnIx-sTyLe
Ok hab die Lösung. In meiner IE version ist anscheinend die variable length für etwas reserviert.
wenn ich in deiner vorlage die variable length z.B durch width ersetz klappt es auch im IE
wenn ich in deiner vorlage die variable length z.B durch width ersetz klappt es auch im IE
gepostet vor 18 Jahre, 3 Monate von Drezil
natürlich
length ist eine von java-script definierte methode und darf somit nicht mehr als var verwender werden .. (ich find sowas doof ..
)
length ist eine von java-script definierte methode und darf somit nicht mehr als var verwender werden .. (ich find sowas doof ..
)
gepostet vor 18 Jahre, 3 Monate von knalli
In JS ist das so okay, weil es sonst chaotisch wird.
function haha() { alert("haha"); }
window.onload = haha;
das geht.. und haha und ist keine Variable
edit (dann eben kein neuer post *G*):
Nein, das ist KEIN Syntaxfehler.
function haha() { alert("haha"); }
window.onload = haha;
das geht.. und haha und ist keine Variable
edit (dann eben kein neuer post *G*):
Nein, das ist KEIN Syntaxfehler.
gepostet vor 18 Jahre, 3 Monate von Drezil
naja .. ich würd da sagen: synta.-fehler - missing ()
macht das ganze imho eindeutiger .. aber ich wurd ja nicht gefragt, als die js entwickelt haben .. ^^
so .. nu is genug off-topic.
@topic:
kann man dem user nicht so nen schönen fileChooser geben, wo er dann die datei auswält und js aus dem datei-string den grafikpfad bastelt (und auch / etc richtig setzt)
beim nächsten einloggen kann man dann immernoch prüfen, ob die grafiken nicht richtig geladen wurden. wenn ja, dann liegt es (zumeist) nicht an der angabe des grafikpfades, sondern eher am client (ff-security-zone etc.) und man kann in nem popup z.B. gleich das browserspezifische tut zur freischaltung der seite anzeigen....
just my 2 cents ...
macht das ganze imho eindeutiger .. aber ich wurd ja nicht gefragt, als die js entwickelt haben .. ^^
so .. nu is genug off-topic.
@topic:
kann man dem user nicht so nen schönen fileChooser geben, wo er dann die datei auswält und js aus dem datei-string den grafikpfad bastelt (und auch / etc richtig setzt)
beim nächsten einloggen kann man dann immernoch prüfen, ob die grafiken nicht richtig geladen wurden. wenn ja, dann liegt es (zumeist) nicht an der angabe des grafikpfades, sondern eher am client (ff-security-zone etc.) und man kann in nem popup z.B. gleich das browserspezifische tut zur freischaltung der seite anzeigen....
just my 2 cents ...
gepostet vor 18 Jahre, 3 Monate von Klaus
oder ein Installationstool schreiben, welches den Pfad an den Server übermittelt und die Firefoxeinstellungen automatisch bearbeitet.
gepostet vor 18 Jahre, 3 Monate von Itchy
Original von Klaus
oder ein Installationstool schreiben, welches den Pfad an den Server übermittelt und die Firefoxeinstellungen automatisch bearbeitet.
Wenn man sowas macht, dann empfehle ich aber gleichzeitig, die Nutzungsbedingungen von einem Anwalt überprüfen zu lassen. Wenn das nicht sauber ist, ist eine Abmahnung vorprogrammiert.