[PHP] Cross-platform file links naar SMB shares

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50
Is het mogelijk om cross-platform iets te bouwen waarbij Medewerker A op een PC via de file browser een bestand selecteert waarbij de link naar het bestand op de share in de database opgeslagen wordt, waarna Medewerker B op een Mac via een output schermpje op een URL kan klikken die dan het bestand oproept?

Ik kan de waarde wel uit zo'n upload veld trekken, dus dat is alvast een ding wat het mogelijk maakt.

Vermoedelijk moet ik dan T:\bestanden\bestand.pdf omzetten naar smb://fileserver/afdelinga/bestanden/bestand.pdf ? Dat heb ik wel eens onder Linux / Unix machines gezien maar als ik smb://test intik in FireFox op een PC dan kent die het protocol niet.

[ Voor 8% gewijzigd door BikkelZ op 10-04-2007 12:24 ]

iOS developer


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Probeer in eerste instantie eens te achterhalen hoe een link eruit zou moeten zien op de mac. Eventueel zou je dan afhankelijk van de gebruiker (door te kijken welke browser en welk OS gebruikt wordt) de juiste url tonen. Gewoon in een handig formaat opslaan en dan converteren naar de link die je afhankelijk van het OS nodig hebt.

Edit @ hieronder: Waarom vraag je dat aan mij. Je kunt toch zelf testen of het werkt? Ik zou niet weten of dat de oplossing is die in jouw omgeving gaat werken omdat ik niet degene ben die jouw oplossing kan testen.

[ Voor 24% gewijzigd door Janoz op 10-04-2007 14:52 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50
Zoiets als:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$browsarr = get_browser(null, true);

$osver = $browsarr['platform'];

if (substr($osver, 3) == 'Win')
{
$slashchar = "\\";
$file_address = "T:\\";
}
else
{
$slashchar = "/";
$file_address = "smb://bestandserver/";
}

$folderparts = explode($databaserow['smbpath'], "/");

foreach ($folderparts as $folderpart)
{
$file_address.= $folderpart;
}

echo "<a href=\"".$file_address."\">Klik hier om ".$databaserow['filename']." te downloaden</a>";


?

iOS developer


Acties:
  • 0 Henk 'm!

  • Gwaihir
  • Registratie: December 2002
  • Niet online
BikkelZ schreef op dinsdag 10 april 2007 @ 12:24:
Vermoedelijk moet ik dan T:\bestanden\bestand.pdf omzetten naar smb://fileserver/afdelinga/bestanden/bestand.pdf ? Dat heb ik wel eens onder Linux / Unix machines gezien maar als ik smb://test intik in FireFox op een PC dan kent die het protocol niet.
In IE werkt \\fileserver/afdelinga/bestanden/bestand.pdf . Lijkt erop dat 't ding dan naadloos schakelt naar de windows explorer. Dat zal wel verklaren waarom 't onder firefox niet gaat.

Lijkt erop dat je voor Firefox eerst moet registreren met welk programma smb:// geopend moet worden. Kennelijk is dat op Linux voor smb:// standaard al gedaan?

Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50
Birdie schreef op dinsdag 10 april 2007 @ 15:38:
[...]

In IE werkt \\fileserver/afdelinga/bestanden/bestand.pdf . Lijkt erop dat 't ding dan naadloos schakelt naar de windows explorer. Dat zal wel verklaren waarom 't onder firefox niet gaat.

Lijkt erop dat je voor Firefox eerst moet registreren met welk programma smb:// geopend moet worden. Kennelijk is dat op Linux voor smb:// standaard al gedaan?
Ja maar goed Internet Explorer is natuurlijk slechts een van de vele toepassingen van een Windows Verkenner scherm, dus het is zelfs niet eens een overschakeling. Maar om bij iedere client aanpassingen te gaan doen aan FireFox....dat is ook niet de oplossing lijkt me.

iOS developer


Acties:
  • 0 Henk 'm!

  • Gwaihir
  • Registratie: December 2002
  • Niet online
Niet om over te juichen nee. Maar 't is een intranet, neem ik aan, dus de beheerders zouden het mee kunnen nemen (of IE verplicht kunnen stellen voor de windows gebruikers).

Ik heb overigens niet de indruk dat het een aanpassing aan firefox is; zie het meer als in het OS associeren van een protocol met een programma, zoals je dat ook met bestandsextensies doet.
Pagina: 1