Zum Inhalt springen

sockä

Mitglieder
  • Gesamte Inhalte

    588
  • Benutzer seit

  • Letzter Besuch

Beiträge von sockä

  1. Mozilla und Co. können mit einem //-Pfad nix anfangen.

    Ok, wenn das so ist... wie kriege ich das dann hin das solche Pfade zu Windows-Netzfreigaben nicht nur mit dem IE angezeigt werden können?

    Ich hatte schon mal eine Anwendung, der ich Links in Form von \\server\freigabe\pfad\datei.txt mitgegeben habe, das funktionierte in allen Browsern. Warum es jetzt nicht mehr geht ist mir ein Rätsel. Gut, jetzt habe ich "//" statt "\\" - aber nach einem str_replace() sollte das doch nicht mehr stören, oder?!

  2. Hallo,

    ich habe folgenden Link:

    //server/rechnungen und lieferscheine/eingang/2006/aeg.doc
    und binde diesen einfach so als href ein:
    
    $link = "//server/rechnungen und lieferscheine/eingang/2006/aeg.doc";
    
    echo '<a href="'.$link.'" target="blank">'.basename($link).'</a>';
    
    
    Das klappt nicht immer; im IE geht es so, bei anderen Browser nicht. Bei Mozilla z.B. klebt er vor dem Pfad noch den aktuellen "Stand" im Browser, da kommt dann sowas raus wie:
    http://localhost/test///server/rechnungen und lieferscheine/eingang/2006/aeg.doc

    ... kann natürlich nicht gehen.

    Ausprobiert habe ich

    - <a href=http:// + pfad

    - <a href=http: + pfad

    - <a href=file:// + pfad

    - <a href=file: + pfad

    Dann hat er noch Probleme mit Leerzeichen im Pfad, die habe ich so ersetzt:

    $link = str_replace(" ", "&160;", $link);
    // Vor dem &160 noch ein #-Zeichen, aber das verschluckt der Editor hier....?![/php]

    Ebenso habe ich versucht aus "/" ein "\" zu machen:

    [php]$link = str_replace("/", "\\", $link);

    ... natürlich auch kein Erfolg...

    Naja... irgendwie geht es nicht... jemand nen Tipp?

    Besonders für das komische Pfad-Vorne-Rankleben bei Mozilla und Opera... :(

  3. Entwicklungsumgebung ist Visual Studio

    Dann kannst du dir auch den Eventhandler "erstellen" lassen: dazu in den Designer gehen, auf dein Textfeld gehen, rechts im Eigenschaftenfenster das Event-Symbol klicken und Event KeyPressed oder KeyDown etc. auswählen, doppelClick und fertig... nun nur noch Routine so schreiben, dass sie auf ENTER hört und fertig.

  4. cellpadding="0" und ein cellspacing="0"

    Ja, bei IE muss man das, wenn man auf CSS verzichtet. Möchte man aber doch ein wenig Padding haben, dann nimm folgendes CSS:

    
    table.singleLine
    
    {
    
       border-collapse: collapse;
    
       empty-cells: show;
    
       border: 1px solid #000000;
    
       border-spacing: 0px;
    
    }
    
    

  5. Hi,

    also *eigentlich* geht alles, ich habe nur ein Prob... wenn ich so durch die Verzeichnisse wandere füllt sich mein Path mit Slahes und sieht nach 10 besuchten Ordnern mitunter schon mal so aus:

    \\\\\\\\\\\\rechnungen\\\\\\\20005\\\\\\\\abc.doc

    Ich habe schon überall, wo $path als Link übergeben wird ein stripslashes() gemacht, aber die Dinger werden trotzdem immer so komisch.

    Das passiert auch nur, wenn ich hoch- und runter durch die Ordner navigiere. Gehe ich nur tiefer in der Ordnerstruktur macht er es richtig und es kommen vernünftige Pfade bei raus. Wandere ich hoch, werden \\\\\ rangehängt.

    Vll. ist auch mein "Hochgehen" zu naiv gedacht; hier der Code:


    if($path != "")
    {
    $pathParts = explode('\\\\', $path);
    $up = "";
    for($i = 0; $i < count($pathParts)-2; $i++)
    $up .= $pathParts[$i] . "\\";

    echo '<a href="selector.php?path='.$up.'">..</a>';
    }
    [/php]

    ...?!

  6. Antworte ich mir wieder selber ;)

    ... und zitiere mich auch gleich:

    aber wenn ich nun in diesem kleinen PopUp-Fenster ein Link habe soll der ja quasi auf das PopUp-Fenster selber zeigen.... wie geht das?!

    Hehe... Probieren geht über studieren....

    über window.open("path.php" ,..., ...) öffne ich die PHP-Seite... und wenn ich da einfach stump einen Link auf die Seite selber mache, arbeitet er ja in dem Fenster weiter... herrje war das stump :)

    Schließlich ist das Fenster, auch wenn es von JavaScript ERZEUGT wurde, kein neues, böses, anderes Fenster sondern ein stumpes Browserfenster, was nur nicht so groß ist wie die anderen... ;)

    btw. Wieso reagieren die Browser nicht auf die Angabe "resizable=no" in der window.open()-Angabe?!

  7. Ein Unterverzeichnis [...]liefert einen Link auf das gleiche Anzeigeprogramm, nur dass hier dann das entsprechende Verzeichnis aufgelistet wird.

    Eeee...jetzt habe ich noch mal diesen Satz genau gelesen und auf der Zunge zergehen lassen.... und bin glaube ich auf deine/eine Idee gekommen... vll. über einen Button ein neues kleines Fenster aufmachen, dort das findfile()-Skript auf dem Oberordner meines Fileservers ausführen, jedes .doc, .xls etc. File per Checkbox anzeigen und jeden Unterordner als Link... wenn klick auf Link in Verzeichnis wechseln und findfile() erneut ausführen und so weiter und so weiter... :)

    Wäre das praktisch/benutzerfreundlich/ok?!

    Und wenn so... dann kommt wieder mein JavaScript-Unwissen zum Vorschein .... also wie ich ein Fenster öffne auf Button-Klick, das bekomme ich wohl noch hin... aber wenn ich nun in diesem kleinen PopUp-Fenster ein Link habe soll der ja quasi auf das PopUp-Fenster selber zeigen.... wie geht das?! Zumal ich das ja wieder an den Server zur PHP-Ausführung zurückschicken muss.... hmpff...

    sockä

    (etwas durcheinander und ratlos) ;)

  8. Hi Markus,

    erstmal viiiiiielen Dank für deine Mühen :)

    Ein klitzekleine Anmerkung am Code habe ich: das erste IF ist eine Prüfung auf ein Verzeichnis, das zweite IF auf eine Datei (also die Kommentarzeilen sind falschherum):


    // Ists eine Datei? ##### -> Verzeichnis
    if (is_dir($location.'/'.$file) and $file <> ".." and $file <> ".")
    {
    $matchedfiles.= $file . "<br>";
    }
    // Ists ein Verzeichnis? ##### -> Datei
    elseif (!is_dir($location.'/'.$file))
    {
    if (preg_match($fileregex,$file)) {
    $matchedfiles.= $file . "<br>";;
    }
    }
    [/PHP]

    Aber das ist ja nur ein Schönheitsfehler ;)

    Ansonsten läuft das Ding, habe es mal fix auf unserem Fileserver ausprobiert ... somit kommt wwwrun da auch ran. Habe es auch noch ein wenig abgeändert, dass $matchedfiles nicht ein string sondern ein mehrdim. Array ist und jeder durchlaufene Eintrag wiederum ein Array ist mit Wert "dir" oder "file" ... das schaut dann so aus:

    [code]array(2) { [0]=> array(2) { [0]=> string(4) "file" [1]=> string(47) "Kunde_xy.doc" } [1]=> array(2) { [0]=> string(3) "dir" [1]=> string(9) "Auswertungen" } } [/code]

    Soweit so gut... ;)

    Aber wie mache ich denn nun die Auswahl der Dateien benutzerfreundlich? Mit Checkboxen finde ich ein wenig anstrengend, da in den Ordnern, die ich durchsuchen werde, locker ein paar hundert Dateien liegen... und die alle per Checkbox auflisten würde ja seitenweise scrollen bedeueten... finde ich nicht so toll.

    Andere Idee wäre, eine DropDownListe mit den Verzeichnissen und nach Auswahl des Verzeichnisses würden daneben die Dateien per Checkbox aufgelistet werden ... aber da in einem Verzeichnis schon 100 Dateien liegen könnten, wäre ich wieder beim Problem von eben... Hmmmpfff....

    Also wenn du (oder auch andere) für dieses kleine Look-Like-Prob eine Idee haben, dann wäre mir sicherlich geholfen... :)

    Aber schon mal danke bis hierhin - diese Idee hat mich schon mal weitergebracht.

  9. Ja, das geht bestimmt....

    Aber irgendwie finde ich das unkomfortabel.... ich schreibe mal, wie das ganze laufen soll... :

    Es ist eine Kundendatenbank auf Weboberflächen-Basis, die gerade erst aufgebaut wird und noch nicht wirklich Daten beinhaltet. Nun soll man neue Kunden hinzufügen können, dazu gibt es eine NEU-Maske. Bei einigen Kunden gibt es ein paar Docs mit gescannte Sachen, wie z.B. Handelsregisterauszug etc. Diese Dateien existieren schon.

    Nun soll in der (neuen) Datenbank festgehalten werden, welche Docs zu welchem Kunden gehören, und das per Link. So das es in der DB ein Memo-Feld gibt in denen beliebig viele Links liegen zu den Docs.

    Die Docs liegen auf einem Windows-Fileserver in unserer Domäne. Dort aber an verschiedenen Orten, also keine einheitlichen Ordner.

    Deshalb wollte ich so ein <input> Feld haben um die Dateinamen rauszusuchen. Dann kann bei der Eingabe durch die Ordner gewühlt werden und die Docs werden ausgewählt, Pfad und Dateinamen in DB gespeichert und fertig.

    Wenn ich nun alle Dateien auflisten würde und sagen würde "klick die an, die passen" dann müsste ich ~30 Ordnerinhalte mit je ~100 Dateien auflisten... finde ich vom Handling und von der Übersicht her recht unkomfortabel...

    ...so das ist das Szenario... wenn jetzt noch Einfälle kommen wie "hey, das kann man doch so und so machen" -> nur her damit :)

    Danke fürs Lesen bis hierhin und Grüße,

    die Sockä!

  10. Hi,

    also ich habe deinen Schnipsel auch gestestet, in Mozilla und IE geht es, aber im Opera kommt wieder nur der Dateiname. Und im dem Moment wo ich das Form über ein submit abschicke, ist document.path.inpname.value wieder leer... hmmm.... aber es wäre zumindest schon mal ein Ansatz für Mozilla.... wenn auch noch Opera irgendwie gehen würde wäre mein Tag schon gerettet :)

  11. Auch mal mit meinem Ansatz oben (über zwei Forms) ausprobiert?

    Ja :(

    ... ist das eine Sicherheitslücke, die ich da die ganze Zeit missbrauche und nur der IE hat sie? Ich verstehe nicht, warum das nur im IE geht, das sollten doch *eigentlich* auch Mozilla und Opera verstehen...

    ... habe auch mal OnBlur() und andere Fokus-Dinger ausprobiert - kein Erfolg... :( Aber wenn das nur im IE geht, dann bringt es mir irgendwie gar nix....

  12. Also ich glaube, ich habe es jetzt... zumindest scheint es zu gehen... hier der Code:


    <html>
    <head>
    <script type="text/javascript">
    function getPath(filename)
    {
    var fullPath = "";
    var dirs = filename.split("\\");
    for(var i = 0; i < dirs.length - 1; i++)
    {
    fullPath = fullPath + dirs[i] + "\\";
    }
    document.path.path.value = fullPath;
    }
    </script>
    </head>
    <body>
    <form name="path" action="submit.php" method="post">
    <input type="file" name="filename" onChange="getPath(this.value)" onFocus="getPath(this.value)" onKeyup="getPath(this.value)" size="50"></input>
    <input type="submit" value="ok" name="ok"></input>
    </form>
    </body>
    </html>
    [/php]

    Auf der Seite submit.php dann einfach

    [php]echo $_POST['filename'];

    ... ist aber nur für Windows, deswegen die "\\"-Angabe... aber bei meinem Fileserver handelt es sich ausschließlich um einen Windows-Server.

    Ich habe jetzt mal onChange(), onFocus() und onKeyUp() verwendet... aber hätte nicht onChange() gereicht? Bin mir da recht unsicher...

    Aber vielen Dank für eure tollen Tipps... da wäre ich so schnell nicht drauf gekommen... :)

  13. VBS müsste ich euch auch enttäuschen, damit habe ich noch nix gemacht...und JavaScript bin ich auch kein Held, da ich immer so weit möglich drauf verzichten möchte... aber werde den Ansatz mal ausprobieren.

    Das ganze ist nur für was internes. Wir haben einen Fileserver, auf dem tausende von .docs, .xls etc. liegen. Ich möchte nun Pfade zu diesen Dateien in einer DB speichern in der Art "\\Fileserver\Docs\document1.doc" ... und deshalb brauche ich den ganzen Pfad und den Dateinamen.

    Und nur HTML muss/soll es gar nicht sein. am Besten wäre natürlich PHP.... aber das ist nun mal serverseitig... :(

  14. Hallo,

    ich möchte einen Button, über den es möglich ist, seinen Explorer anzuzeigen, dort eine Datei auszuwählen und dann den Dateinamen + Pfad an den Server zu übertragen.... geht das?!

    Also z.B. liegt im Ordner C:\Temp\ die Datei test.doc.

    Nun möchte ich über einen Button oder sowas halt nen Explorer öffnen, den User durch seine Ordner navigieren lassen... er wählt C:\Temp\test.doc aus, sagt ok und ich habe als Ergebnis "C:\Temp\test.doc" ...

    Es gibt ja schon tolle PHP-Funktionen wie basename() oder dirname() ... aber wie verbinde ich das mit einem Durchsuchen-Button?! :(

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...