Accessing a Windows Share using PHP

前端 未结 3 1206
花落未央
花落未央 2020-12-11 06:57

I need to access an Excel file on a Windows Share using PHP but seem to be running into what looks like an authentication issue.

I\'m using PHP-ExcelReader to open a

相关标签:
3条回答
  • 2020-12-11 07:04

    Your path is correct.

    One thing you could try is to share the drive on the server, then map the shared drive on each users computer (make sure they are all the same drive letter, or name), or just your computer. If it's not too many, the users computers would be better, in case you're out, or forget to authenticate. This way, when the user authenticates, it opens the drive up. You can then call the drive via something like:

    $file_to_include = '\\\\'.$_SERVER['REMOTE_ADDR'].'\mappedDrive\file.xls';
    
    0 讨论(0)
  • 2020-12-11 07:12

    Path \\10.9.8.7\depts$\ExcelFile.xls must be locally accessible to the client, since PHP has no SMB support.

    EDIT: At least not natively, try smb4php

    0 讨论(0)
  • 2020-12-11 07:20

    You path is correct, but keep in mind, that $ amd backslash is a special-char in php when using double quotes.

    So you could either write:

    $file_to_include = '\\10.9.8.7\depts$\ExcelFile.xls';
    

    or you use double quotes but you add a extra backslash before the special signs

    $file_to_include = "\\\\10.9.8.7\depts\\\$\\ExcelFile.xls";
    

    or you yust use forward slashes as directory separator, but the dollar still must be escaped

    $file_to_include = "\\\\10.9.8.7/depts/\$/ExcelFile.xls";
    

    About the authdata: if you are running a php file, it usually inherits the permissions of the starting process. What means, if you already saved the auth for this share in your explorer and you are starting a php, the php file inherits this already saved permissions.

    But dont forget, when you run a php in a webserver, this webserver is maybe running in a different user, which dont has the same permissions like your currently logged in user.

    0 讨论(0)
提交回复
热议问题