Verknüpfungseigenschaften auslesen und in DB speichern

tombe

Erfahrenes Mitglied
Hi,

kennt jemand von Euch eine Möglichkeit wie man die Eigenschaften einer Verknüpfung mit PHP auslesen und in einer Datenbank speichern kann.

Ich will mit einigen Leuten eine gemeinsame Favoritenliste zusammenstellen. Dazu wäre es gut wenn jeder von uns einfach seine lokal gespeicherten Daten (Favoriten) in ein Formular einlesen könnte um sie dann in einer Datenbank zu speichern.

Hab bis jetzt absolut keinen Plan ob und wenn ja wie man so etwas machen könnte.

Hoffe mal ihr könnt mir da helfen.

Thomas
 
Das Problem dabei ist, dass jeder Browser seine Bookmarks anders speichert.
Beim Mozilla ist es einfach...dort sind sie in der bookmarks.html vermerkt, die müssten die Leute nur hochladen und du kannst sie dann verarbeiten.

Im IE sind sie aber im Verzeichnis "Favoriten" als Links gespeichert, da bräuchtest du bspw. ein Skript auf dem Clientrechner, was diesen Ordner inkl. Inhalt ausliest und entsprechend aufbereitet, bevor sie an den Server gesendet werden.
 
Hi Sven,

das ich hierbei verschiedene Wege gehen muss (je nach Browser) ist klar. Wobei Mozilla sicher kein Problem darstellt.

Das was mir die größten Kopfschmerzen macht ist genau das Skript das ich benötige um z.B. die Favoriten des IE auszuwerten.

Wie könnte so etwas aussehen?

Thomas
 
Code:
<html>
<head>
<title>Test</title>
</head>
<body>
<style type="text/css">
<!--
xmp{margin:0;}
-->
</style>
<script language="JScript"type="text/JScript">


function bookmarks()
{
  FSO = new ActiveXObject("Scripting.FileSystemObject");
  SHELL= new ActiveXObject("WScript.Shell");
  bookmarks=FSO.getFolder(SHELL.SpecialFolders("Favorites"));
  new get_bookmarks(bookmarks);
}

function get_subfolders(folder)
{
  this.d=FSO.getFolder(folder);
  this.s = new Enumerator(this.d.subFolders);
  for (; !this.s.atEnd(); this.s.moveNext())
  	{
      this.a= new get_bookmarks(this.s.item());
  	}
}

function get_bookmarks(d)
{ 

  this.d=FSO.getFolder(d);
  this.ff = new Enumerator(d.Files);
  for (; !this.ff.atEnd(); this.ff.moveNext())
  	{
  	  this.bb=FSO.getFile(String(this.ff.item()));
  	  this.f = FSO.OpenTextFile(this.bb,1);
      this.bookmark=bookmark(FSO.getFileName(this.ff.item()),this.f.ReadAll());
      if(this.bookmark)
        {
          document.write('<xmp><a href="'+this.bookmark[0]+'">'+this.bookmark[1]+'</a></xmp>');
        }
  	}
  
  this.b=new get_subfolders(this.d);
}

function bookmark(n,p)
{
  if(n.match(/\.url/)&& p.match(/^\s*\[DEFAULT\]\s*BASEURL=(http:\/\/\S+)/gi))
    {
      pattern=/BASEURL=(.+)\[InternetShortcut\]/;
      pattern.exec(p);
      return new Array(RegExp.$1,n.replace(/\.url$/,''));
    }
  return false;
}

bookmarks();
</script>
</body>
</html>
....das Ganze mit der Endung .hta speichern und aufrufen....liefert den HTML-Code für die IE-Favoriten(als Links).
 
Hi Sven,

das ist ja viel mehr als ich erwartet habe. Und was das Beste ist : Es funktioniert tadellos !!

Muss mir jetzt allerdings das erst mal in aller Ruhe anschauen, damit ich auch verstehe wie es funktioniert.

Viele Dank für die Hilfe

Thomas
 
Du könntest aus dem ganzen ja ein Formular generieren lassen mit checkboxen, wo die Leute noch auswählen können, was sie dir schicken wollen...und was sie dann gleich an ein Skript bei dir auf dem Server senden, ggf. per PW gesichert ;)
 
Hallo!

Zum Glück gibt es die Suchfunktion. ;)
Irgendwie hatte ich nurnoch "Sven Mintel" und "Favoriten" im Kopf gehabt.

Lange Rede, kurzer Sinn..... das "Zauberwort" heisst favtool.exe.
Dieses Programm stammt von Microsoft selbst (siehe KB152681).
So wie es aussieht bietet MS das Programm nicht mehr zum Download an (der in der KB genannte Link funktioniert nicht mehr und auch die SuFu nach "favtool" auf der MS-Page hat kein Downloadlink gebracht).
Allerdings bekommt man das Programm z.B. auf PC World.com.

Eigentlich ist das Programm für Win 9x gedacht, aber ich habe es so eben unter W2k SP4 mit dem IE 5.5 erfolgreich getestet.
Ein Feedback von anderen Usern, ob das Programm auch mit XP/Vista und dem IE 6/7 funktioniert, dürfte an dieser Stelle sicherlich willkommen sein. ;)
Firefox/Seamonkey wäre auch interessant, wobei ich mal denke dass der Export dem von Netscape/Mozilla entspricht.

Das Ergebnis des Exports sieht genauso aus wie das von Netscape/Mozilla.
Wenn man sich allerdings den Quelltext ansieht, fallen 2 Dinge auf:
1. haut das Programm nach jeder Zeile eine Leerzeile rein.
2. wird als Timestamp eine "0" eingesetzt.
Beides dürfte aber, wenn überhaupt, nur eine unwesentliche Rolle spielen.
Ansonsten schein der Quelltext identisch aufgebaut zu sein.
Immerhin werden die Favoriten nach den Ordnern/Unterordnern sortiert, so wie man es auch von Netscape/Mozilla beim Export kennt.
Alles andere wäre für mich persönlich, bei rund 8.500 Favoriten, auch vollkommen indiskutabel. ;)

Fehlt nurnoch ein Script das die HTML Dateien auswertet und (nach Kategorien sortiert) in die Datenbank einträgt.
Bei mir hapert es da leider schon an den regulären Ausdrücken.

Gruss Dr Dau
 
Zurück