Snelkoppeling mbv PHP
Hoe kan ik met php een snelkoppeling maken die je kunt downloaden MET een eigen icon eraan?
Heb iets geprobeerd met de functie symlink(), maar dit leverde niet veel op.
Zat zelf in de richting te denk om een default snelkoppeling te maken en deze te openen met 'fopen' dan de link erin veranderen en wegschrijven naar nieuwe locatie/bestandsnaam. Het probleem zit hem eigenlijk in het custom icon toevoegen...
Het systeem moet: Per gebruiker een shortcut maken naar hun eigen subdomein. En deze moet dus te downloaden zijn, zodat ze hem op het bureablad kunnen zetten bijv.
Bookmark is dus NIET wat ik wil. Iemand een idee ?
http://bytes.com/topic/php/answers/9229-how-create-downloadable-windows-shortcut-using-php
Echter, kan het heel eenvoudig door gebruik te maken van een windows COM object. Echter moet je applicatie dan wel gehost wordren door een Windows server en maakt het je applicatie platform afhankelijk.
http://stackoverflow.com/questions/792905/is-it-possible-to-create-a-windows-shortcut-using-php
Misschien maar iets doen met een automatische bookmark en favicon?
Bestandsnaam: sampleshortcut.url
Inhoud:
[InternetShortcut]
URL=http://www.phphulp.nl/
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
Met bijvoorbeeld fopen (modus: wb)
Ben eens benieuwd, kan zijn dat de data met IDList dus voor geen meter klopt maar valt te proberen :p
Je zou ook eens hier naar kunnen kijken:
http://www.stdlib.com/art6-Shortcut-File-Format-lnk.html
Heb ook de PDF voor je gevonden:
http://code.google.com/p/8bits/downloads/detail?name=The_Windows_Shortcut_File_Format.pdf
Je zult dus binair moeten schrijven. Opzich wel iets leuks om een GIT projectje oid van te maken!
Gewijzigd op 10/06/2011 11:47:07 door kees Schepers
het volgende staat in een .url van windows:
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
[InternetShortcut]
URL=http://demo.pagina.nl/
IDList=
HotKey=0
IconFile=C:\Windows\system32\SHELL32.dll
IconIndex=298
Hier is de IDlist dus NIET opgegeven...
Edit:
: ja nou als eerste regel dus eigenlijk wel, maar niet achter IDlist=
Toevoeging op 10/06/2011 12:13:19:
Toevoeging op 10/06/2011 12:13:59:
Dit werkt, maar als ik de snelkoppeling opsla maakt firefox/windows er 'shortcut.url.txt' van ...
Wat me ook opvalt is dat de IDlist die jij gaf gewoon precies hetzelfde is...voor alle url extensies in mijn Windows 7 omgeving trouwens.
Het forum doet hier raar! Vorige post was dus echt wel GEEN wijziging. En deze ook niet!
Toevoeging op 10/06/2011 12:31:22:
Ah. Opgelost. Was de regel eindes vergeten :|
Het icoontje is dus nu gewoon een zelf uitgezocht icoontje (IconIndex=298).
Nu nog voor MAC-gebruikers de format achterhalen en dan zijn die ook gelukkig ;)
Bedankt voor je hulp !!!!
Toevoeging op 10/06/2011 12:13:19:
Toevoeging op 10/06/2011 12:13:59:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
$file_shortcut = '/home/bladiebla/domains/bladiebla.nl/public_html/website/test/shortcut.url';
if($handle = fopen($file_shortcut, 'wb')) {
fwrite($handle,"[InternetShortcut]");
fwrite($handle,"URL=http://demo.pagina.nl/");
fwrite($handle,"IDList=");
fwrite($handle,"[{000214A0-0000-0000-C000-000000000046}]");
fwrite($handle,"Prop3=19,2");
fwrite($handle,"IconFile=C:\Windows\system32\SHELL32.dll");
fwrite($handle,"IconIndex=298");
fclose($handle); //bestand altijd afsluiten
echo '<a href="test/shortcut.url">Download snelkoppeling</a>';
}
?>
$file_shortcut = '/home/bladiebla/domains/bladiebla.nl/public_html/website/test/shortcut.url';
if($handle = fopen($file_shortcut, 'wb')) {
fwrite($handle,"[InternetShortcut]");
fwrite($handle,"URL=http://demo.pagina.nl/");
fwrite($handle,"IDList=");
fwrite($handle,"[{000214A0-0000-0000-C000-000000000046}]");
fwrite($handle,"Prop3=19,2");
fwrite($handle,"IconFile=C:\Windows\system32\SHELL32.dll");
fwrite($handle,"IconIndex=298");
fclose($handle); //bestand altijd afsluiten
echo '<a href="test/shortcut.url">Download snelkoppeling</a>';
}
?>
Dit werkt, maar als ik de snelkoppeling opsla maakt firefox/windows er 'shortcut.url.txt' van ...
Wat me ook opvalt is dat de IDlist die jij gaf gewoon precies hetzelfde is...voor alle url extensies in mijn Windows 7 omgeving trouwens.
Het forum doet hier raar! Vorige post was dus echt wel GEEN wijziging. En deze ook niet!
Toevoeging op 10/06/2011 12:31:22:
Ah. Opgelost. Was de regel eindes vergeten :|
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
$file_shortcut = '/home/test/domains/test.nl/public_html/test/locatie/shortcut.url';
$subdomein = "subdomein";
if($handle = fopen($file_shortcut, 'wb')) {
fwrite($handle,"[{000214A0-0000-0000-C000-000000000046}]");
fwrite($handle,"\n");
fwrite($handle,"Prop3=19,2");
fwrite($handle,"\n");
fwrite($handle,"[InternetShortcut]");
fwrite($handle,"\n");
fwrite($handle,"URL=http://$subdomein.test.nl/");
fwrite($handle,"\n");
fwrite($handle,"IDList=");
fwrite($handle,"\n");
fwrite($handle,"HotKey=0");
fwrite($handle,"\n");
fwrite($handle,"IconFile=C:\Windows\system32\SHELL32.dll");
fwrite($handle,"\n");
fwrite($handle,"IconIndex=298");
fclose($handle); //bestand altijd afsluiten
echo '<a href="locatie/shortcut.url">Download snelkoppeling</a>';
}
?>
$file_shortcut = '/home/test/domains/test.nl/public_html/test/locatie/shortcut.url';
$subdomein = "subdomein";
if($handle = fopen($file_shortcut, 'wb')) {
fwrite($handle,"[{000214A0-0000-0000-C000-000000000046}]");
fwrite($handle,"\n");
fwrite($handle,"Prop3=19,2");
fwrite($handle,"\n");
fwrite($handle,"[InternetShortcut]");
fwrite($handle,"\n");
fwrite($handle,"URL=http://$subdomein.test.nl/");
fwrite($handle,"\n");
fwrite($handle,"IDList=");
fwrite($handle,"\n");
fwrite($handle,"HotKey=0");
fwrite($handle,"\n");
fwrite($handle,"IconFile=C:\Windows\system32\SHELL32.dll");
fwrite($handle,"\n");
fwrite($handle,"IconIndex=298");
fclose($handle); //bestand altijd afsluiten
echo '<a href="locatie/shortcut.url">Download snelkoppeling</a>';
}
?>
Het icoontje is dus nu gewoon een zelf uitgezocht icoontje (IconIndex=298).
Nu nog voor MAC-gebruikers de format achterhalen en dan zijn die ook gelukkig ;)
Bedankt voor je hulp !!!!
Gewijzigd op 10/06/2011 12:30:40 door Dave L