Samba Directory uitlezen in linux via PHP

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008
  • Reageer

  • rikvdh
  • Registratie: Mei 2006
  • Laatst online: 28-03-2025
Ik ben een script aan het maken die checkt of 2 directory's aan elkaar gelijk zijn. Dit script runt straks elk uur in een terminal venster in Ubuntu 6.06.

De bedoeling is dat hij een directory lokaal en een directory op een windows-systeem uit leest.

Dat lokaal uitlezen dat is me al gelukt. Alleen dat uilezen via het Netwerk. Dat lukt me niet.
Dat gebeurd natuurlijk via samba. Alleen binnen php kan hij die directory niet uitlezen.

Dit is het huidige script:
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
25
<?php
$source =  'smb://gpc001kan/Davilex/Backup';
$target = '/home/rik/Kantoor';

if ($dir = opendir($source)) { 
    while (($file = readdir($dir)) !== false) { 
        if(!is_dir($file) && strstr($file,".")){ 
            $SourceArr[]=$file; 
        } 
    } 
    closedir($dir); 
} 

if ($dr = opendir($target)) { 
    while (($fli = readdir($dr)) !== false) { 
        if(!is_dir($fli) && strstr($fli,".")){ 
            $TargetArr[]=$fli; 
        } 
    } 
    closedir($dr); 
} 

    print_r($SourceArr);
    print_r($TargetArr);
    ?>


Hoe ik aan $source kom. Nou.. in linux klik ik op eigenschappen en dan vind ik dat pad. Als ik die link in de browser intik dan krijg ik wel het goede te zien. Maar als ik het script via Apache in de browser run gaat dat weer niet.

Ik weet niet precies waar ik dit moet plaatsen. Aangezien het PHP betreft.. maar het heeft ook met Samba te maken.

[ Voor 6% gewijzigd door rikvdh op 18-08-2007 15:49 ]


  • sunoke
  • Registratie: Oktober 2003
  • Niet online
ik verwacht niet dat php gebruik maakt van componenten van gnome/kde om netwerkverbindingen te realiseren. Daar komt dat smb:// vandaan.

Als de machines in het zelfde netwerk staan kun je het makkelijkste gewoon mount gebruiken om de smb netwerkshare te mounten. Dan kun je die locatie gewoon in php gebruiken als een lokaal pad.

  • rikvdh
  • Registratie: Mei 2006
  • Laatst online: 28-03-2025
Ah.. Daar heb ik wat aan.
Ik zal eens even zoeken hoe ik zo'n netwerkshare moet mounten. (Ben niet zo'n held in Linux)

Na wat zoekwerk:
sudo mount -t smbfs -o username=rik,password=****** //bpc002kan/Davilex/Backup /mnt/backup

Maar ik krijg dan de error:

mount: Slecht soort bestandssysteem, slechte optie, slecht superblok op //bpc002kan/Davilex/Backup
ontbrekende codepagina of andere fout

Ook variaties op dit command geven dezelfde error.

Kan iemand mij ff vertellen hoe ik dat mounten van een share moet doen. Google kan me niet echt helpen.
Ik ben geen Linux held Namelijk

EDIT2: Ik heb niks gezegd.. ik heb de smbfs package niet geïnstaleerd.. :P

[ Voor 77% gewijzigd door rikvdh op 18-08-2007 17:37 ]


  • BarthezZ
  • Registratie: Juli 2004
  • Niet online

BarthezZ

anti voetbal en slechte djs!

smbfs installeren :)

spuit 11 8)7

[ Voor 28% gewijzigd door BarthezZ op 19-08-2007 14:02 ]


  • FRidh
  • Registratie: Januari 2004
  • Laatst online: 14:53
ik meen me ook te herinneren dat voor smbfs, FUSE nodig is. Hiervoor moet je dan even de module compileren:

aptitude install module-assistant fuse smbfs
m-a prepare
m-a a-i fuse

en vervolgens fuse toevoegen aan /etc/modules
Ook moet je jezelf toevoegen aan de groep fuse door:
adduser <gebruikersnaam> fuse

Research is to see what everybody else has seen, and to think what nobody else has thought - Albert Szent-Györgyi


Verwijderd

Je kunt ook eens de source van http://smbwebclient.sourceforge.net/ bekijken. Ik vermoed dat dit onder water gebruik maakt van smbclient.
Pagina: 1