WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP: Excelfiler + MSFTP (https://www.wn.se/forum/showthread.php?t=31324)

crazzy 2008-08-21 16:59

Har ett ganska stort problem (för mej iallafall).

En kund har bett mej skriva ett skript som läser in en Excelfil med användare och sedan skapar kataloger, sätter rättigheter och....
Skriptet ska även klara av att skapa användare i Windows, kasta dessa i en grupp och sedan öppna FTPkonto åt dessa i
Microsofts FTP server. Allting ligger på samma maskin. Skriptet kommer vara skrivet i php.

Det som är problemet är att jag har ingen aning om hur jag ska kunna läsa in en excelfil. Och ingen aning om hur jag
skapar användare och lägger upp ftp konton. Inte heller om hur jag sätter rättigheter i windows.

Finns det någon/några vänliga själar på wn som kan ge mej en eller flera sparkar i baken åt rätt håll?

studiox 2008-08-21 17:03

Dumt att säga ja till någon som man inte har en aning om hur man gör :-)

Kör du Windows så kan du läsa excel med hjälp av ett API, kommer inte ihåg vad det heter. Annars kan du läsa CSV filer i vilket språk som helst. Sök på PHP + CSV.

Hur du gör resten kan jag inte hjälpa dig med, men du kan ju prata med AD't direkt med LDAP. Det är dock inte det lättaste, tror postningen passar bättre o jobb :)

crazzy 2008-08-21 17:12

Vi har en form av muntligt special-avtal. Jag får en rätt bra förtjänst på det jag gör och han förutsätter att jag är nån sorts all-mighty god i allt som har med datorer att göra. :)
Klarar jag inte det får han helt enkelt be någon annan. Jag har inte explicit sagt ja än. Men det vore skoj om jag kunde klara av det.

Edit:

Jag kan nog fixa Excel-grejen med en csv och http://se.php.net/fgetcsv så nu återstår det andra.

Edit2:

Servern ifråga finns inte i någon domän och kommer inte att köras som domänkontrollant så AD kommer inte finnas tillgängligt.
I allra värsta fall får jag köra system("net user ......");

grazzy 2008-08-21 17:41

Excel-formatet är bara xml nuförtiden. Ta dig en titt på det så kan du nog lösa det. Såg nån ibm-artikel om det idag. http://www.ibm.com/developerworks/xml/libr...xcel/index.html. Varför jobbar du med windows? Det är för losers.

crazzy 2008-08-21 17:56

Citat:

Originally posted by grazzy@Aug 21 2008, 17:41
Excel-formatet är bara xml nuförtiden. Ta dig en titt på det så kan du nog lösa det. Såg nån ibm-artikel om det idag. http://www.ibm.com/developerworks/xml/libr...xcel/index.html. Varför jobbar du med windows? Det är för losers.

Inte mitt val att jobba med windows, jag blev tilldelad en miljö att jobba i. Kan inte göra något åt det. Hade jag jobbat i linux hade jag inte haft lika många problem.

crazzy 2008-08-21 18:00

Ser ut som jag gör konton och rättigheter med system() anrop mot net.exe och cacls.exe.
Sen vad gäller Excel:en så blir det fgetcsv() eller ibmlänken från grazzy. Så mitt enda problem nu är ftp-kontona.

Westman 2008-08-21 18:28

FTP-kontona? IIS? Det är i så fall windowskonton. Personligen hade jag inte gjort detta i php utan i gamla vb/asp. WinNT-providern är kalas och fungerar utmärkt på 2000/2003 (har inte testat på 2008). För att sätta rättigheter gör du klokt i att använda cacls. Att sätta ACL-er programmatiskt är inte roligt alls. Kräver en massa merjobb som inte ger något i 9 fall av 10.

EDIT: Leta reda på dokumentationen för ADSI 2.5 så ser du hur du enkelt hanterar grupper och användare mha. vbskript.

crazzy 2008-08-21 18:33

Funkar ADSI utan en AD? Sen är väl inte jag direkt någon vb-kodare så skulle det finnas något litet roligt program att köra via system() är det att föredra. Eventuellt om man på något enkelt sätt kan skriva ett program för det i C/C++.

MickeH 2008-08-22 01:46

Tjena här kommer en rungande spark i rätt riktning.
Sök på dessa 3 ord så hittar du lösningen på dina frågor angående användare, rättigheter och FTP:konton.

CREATEUSERS.VBS
Mkftpdir.vbs
xcacls.exe

Vill du ha färdiga exempel så återkom så hjälper jag dig i mån av tid.

crazzy 2008-08-22 07:06

Tackar, kollar närmare på det senare idag när jag har mer än -10 minuter på mej. :)


Alla tider är GMT +2. Klockan är nu 01:43.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson