[php] Type medium opvragen (bijv. Cd-rom, HD, etc.)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Weet iemand een script of PHP-functie waarmee je het type medium van een stationsletter kunt opvragen?
Bijvoorbeeld:
A = Diskette
C = Harde schijf
E = CD-Rom
N = Netwerkstation

Het gaat om een Windows-server indien dat van toepassing is voor het antwoord (er zijn volgens mij ook geen andere systemen die letetrs voor de stations hebben :P).
Ik heb al gekeken in de PHP-manual bij de functie stat(), maar dat lijkt niet de functie te zijn waarmee het zou kunnen.

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-09 16:19

alienfruit

the alien you never expected

In de windows api heb je hiervoor de functie GetDriveType() met daar de volgende constantes voor:

DRIVE_REMOVABLE Drive has removable media.
DRIVE_FIXED Drive is a hard drive.
DRIVE_REMOTE Drive is a network drive.
DRIVE_CDROM Drive is a CD-ROM drive.
DRIVE_RAMDISK Drive is a RAM disk.

Misschien moet je kijken of er een php module is waarmee je WinAPI calls kan uitvoeren :?

[ Voor 18% gewijzigd door alienfruit op 05-08-2003 15:41 ]


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Dit is volgens mij niet echt mogelijk in php/win32. in linux is het zéke mogelijk, maar dan door een extern commando uit te voeren.

Ik heb op google wel demo scripts gevonden voor ASP. misschien kan je een extern ASP script invoegen in je php ?

edit:
http://www.php.net/manual/en/ref.w32api.php <-- php module voor win32 api calls

[ Voor 17% gewijzigd door SchizoDuckie op 05-08-2003 15:45 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-09 16:19

alienfruit

the alien you never expected

Cool! Dat wist ik ook niet. Hendig :)

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Nou, het is eigenlijk voor een project: Cowpack (http://cowpack.ciprix.net)
Het project houd een kant-en-klare Apache+PHP configuratie aan met installer waarin men opties aan kan geven.
Om het hele zooitje makkelijk configureerbaar te maken ben ik bezig met een Webadmin.
In die Webadmin worden ook overzichten gegeven van de beschikbare schijven, hun totale ruimte, gebruikte ruimte en vrije ruimte. Tot zover lukte het.
Maar nu zocht ik toch een eenvoudige manier om het type medium aan te geven.
Ik denk niet dat het hoofd vanm het project er blij mee is om de Win32api standaard enabled te hebben bij nieuwe installaties, maar het zou allicht wel de oplossing zijn.
ASP is ook geen oplossing, omdat het project Apache+PHP is en dus geen ASP gaat bevatten.

Ik zal iig voor me zelf even kijken of Win32api wat is.

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
alienfruit schreef op 05 August 2003 @ 15:40:
In de windows api heb je hiervoor de functie GetDriveType() met daar de volgende constantes voor:

DRIVE_REMOVABLE Drive has removable media.
DRIVE_FIXED Drive is a hard drive.
DRIVE_REMOTE Drive is a network drive.
DRIVE_CDROM Drive is a CD-ROM drive.
DRIVE_RAMDISK Drive is a RAM disk.

Misschien moet je kijken of er een php module is waarmee je WinAPI calls kan uitvoeren :?
Beetje een probleem, hoe zou ik ze kunne gebruiken??? :?

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Is er allicht een manier om het met een MS-DOS prompt commando te doen? Die kun je nl. wel uitvoeren in PHP (mbv shell_ecxec() ).

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-09 16:19

alienfruit

the alien you never expected

uuh even kijken in SDK/MFC/VCL(whatevah) naar de waardes van deze constantes :?

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Waar staan de afkortingen voor?
(ik ben nog redelijk newbie op GoT...)

Acties:
  • 0 Henk 'm!

  • creative8500
  • Registratie: September 2001
  • Laatst online: 01-02 14:14

creative8500

freedom.

SDK: Software Development Kit
MFC: Merged From -CURRENT
VCL: Visual Component Library

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Ik ben geen programmeur hoor, dus ik zou totaal niet weten waar je het precies over hebt...
Ik ben eerder scripter (PHP).
Ik denk dat ik het meer gewoon weglaat uit mn script. Jammer dat Windows een uitzondering moet zijn voor dit soort dingen.

Acties:
  • 0 Henk 'm!

  • ixi
  • Registratie: December 2001
  • Laatst online: 27-08 23:59

ixi

Maak een simpel programmatje dat een getal teruggeeft.
Dus abc.exe C: geeft dan 2 ofzo.

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-09 16:19

alienfruit

the alien you never expected

Const DRIVE_CDROM = 5
Const DRIVE_FIXED = 3
Const DRIVE_RAMDISK = 6
Const DRIVE_REMOTE = 4
Const DRIVE_REMOVABLE = 2

Op de CGI/Perl manier: http://www.fabiani.net/tips/perl/enhanced/win32.shtml

Dus als je het niet aan de praat krijgtin PHP, zou je misschien de code van de perl versie kunnen gebruiken. door bijv. dit perl script uit te voer in PHP en het resultaat op te vangen.

[ Voor 81% gewijzigd door alienfruit op 05-08-2003 20:48 ]


Acties:
  • 0 Henk 'm!

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

ixi schreef op 05 August 2003 @ 20:33:
Maak een simpel programmatje dat een getal teruggeeft.
Dus abc.exe C: geeft dan 2 ofzo.
Zoiets ;)?
C++:
1
2
3
4
int main(int argc, char *argv[])
{
    return (argc < 2) ? -1 : GetDriveType(argv[1]);
}

(exe hier)
Die win32 plugin is volgens mij nogal 'experimental', bij mij wilde ie niet werken.. Dit werkt iig wel met bovenstaand programmaatje:
PHP:
1
2
3
4
<?
    system("drivetype C:\\", $val);
    echo $val;
?>

[ Voor 4% gewijzigd door madwizard op 05-08-2003 21:37 ]

www.madwizard.org


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Madwizard.. JE BENT GEWELDIG! ;)
Kun je het allicht ook zo maken dat ie als je em in de DOS-prompt uitvoert een getal terug geeft?
Dat zou voor mij iets handiger zijn.

Verder neem ik aan dat die getallen die er als uitkomst komen overeenkomen met het lijstje van alienfruit:
Const DRIVE_CDROM = 5
Const DRIVE_FIXED = 3
Const DRIVE_RAMDISK = 6
Const DRIVE_REMOTE = 4
Const DRIVE_REMOVABLE = 2

Acties:
  • 0 Henk 'm!

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Kan ook als output, kan ook wel alle drives in een lijstje zetten ook dan heb je meteen alle geldige drives... Zeg het maar, zoveel werk is het toch niet.
Getallen zijn idd hetzelfde..

www.madwizard.org


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Nee, ik hoef ze niet opgesomd te hebben (het PHP-script doet het opsommen aal).
Maar dat ie ook in DOS een getal weergeeft. Nu doet ie dat nl. niet...

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
En als het toch niet veel moeite is mag je ze ook wel allebei maken:
Met opsommingen en zonder opsomming, maar liefste iif zonder opsomming.

Acties:
  • 0 Henk 'm!

  • Tranq
  • Registratie: Oktober 1999
  • Laatst online: 16-10-2024
Dit wordt zo langzamerhand een script request :?

Acties:
  • 0 Henk 'm!

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Here you go:
drivetype2.zip: resultaat op standaard output
enumdrive.zip: opsomming

edit: output van de opsomming is per regel X,Y. X is de driveletter en Y is removable/fixed/remote/cdrom/ramdisk.

[ Voor 25% gewijzigd door madwizard op 06-08-2003 00:19 ]

www.madwizard.org


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Nee nouja, eerder een (niet verplicht) verzoek.
Move het topic maar als t verkeerd staat ;)
T is echt vrijwllig hoor, voel je tot niets verplicht. Het zou me alleen een groot deugd doen :)

Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
enumdrive werkt perfect! ;)
Aleen als ik drivetype versie 2 opstart krijg ik van Windows een error dat het geen geldige Win32 toepassing is.

Acties:
  • 0 Henk 'm!

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Hmm misschien iets fout gegaan met de upload ofzo, probeer het eens opnieuw nu?

www.madwizard.org


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Jah, nu werkt het goed.
Ben ik je nog credits verschuldigd hier voor in het PHP-project waar ik mee bezig ben?
Zo jah, zeg maar hoe je ze het liefst zou willen hebben. Ik zal je iig even in mijn buddylist zetten zodat ik je kan mailen zodra het project af is waarin ik je programmatje gebruik. ;)

[ Voor 1% gewijzigd door Joen op 06-08-2003 00:27 . Reden: typo :P ]


Acties:
  • 0 Henk 'm!

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Ach als je wilt, hoeft niet per se :) .. zet maar als Thomas Bleeker erin (m'n echte naam).

www.madwizard.org


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Okey, maar goed dat het niet per se hoeft. Ik vergeet dit soort dingen nog wel eens nl. Maar als ik er wel aan denk zal ik het zeker doen ;)
Pagina: 1