Snelkoppeling mbv PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dave L

Dave L

10/06/2011 10:49:00
Quote Anchor link
Ik heb even het internet afgestruind, maar heb niks concreets kunnen vinden.

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 ?
 
PHP hulp

PHP hulp

24/11/2024 08:13:25
 
Kees Schepers

kees Schepers

10/06/2011 11:04:44
Quote Anchor link
Helaas verwijst dit naar een PDF die niet meer bestaat:
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
 
Dave L

Dave L

10/06/2011 11:29:16
Quote Anchor link
Klopt dit had ik ook al gevonden. Met de handleiding 'The_Windows_Shortcut_File_Format.pdf'. Echter zit ik dus op Linux....

Misschien maar iets doen met een automatische bookmark en favicon?
 
Kees Schepers

kees Schepers

10/06/2011 11:40:49
Quote Anchor link
Ik heb even zitten kijken voor je, en probeer eens in PHP de volgende file te generen:

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
 
Dave L

Dave L

10/06/2011 12:00:58
Quote Anchor link
Haha hier was ik dus al mee aan het klooien geweest. Je moet dus idd binary schrijven, maar het IDlist id mag denk ik niet 'interferen' met een ander neem ik aan (ivm Windows COM).

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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
    }

?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
    }

?>


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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.