2012-04-24 155 views
0

我目前在公共Web服务器上托管一个php脚本,用于为我在本地托管在同一台服务器上的映像。我最近被告知我需要为另一个进程做同样的事情,除了我们的新进程需要从Windows服务器上提取图片。任何人都可以推荐最好的方式去做这件事?我试过只用下面的直接路径没有运气:在Linux服务器上从php访问Windows服务器上的图像文件

<? 
    $im = file_get_contents('\\SERVER-NAME\Photos\image.jpg'); 
    header('content-type: image/gif'); 
    echo $im; 
?> 

任何有识之士将不胜感激。在此先感谢您的帮助!

+0

安装[Samba](http://www.samba.org/)和['exec()'](http://php.net/manual/en/function.exec.php)它。 – DaveRandom 2012-04-24 16:40:44

+2

问题是,file_get_contents是否工作?如果它有效,你可以使用@Baba的答案,如果没有的话,玩更多的路径让它工作。 – 2012-04-24 16:53:43

回答

1

您可以使用imagecreatefromstringhttp://php.net/manual/en/function.imagecreatefromstring.php

$data = file_get_contents('\\SERVER-NAME\Photos\image.jpg'); 
$im = imagecreatefromstring($data); 

if ($im !== false) { 
    header('Content-Type: image/gif'); 
    imagepng($im); 
    imagedestroy($im); 
} 

让我知道,如果产生任何错误..这样我可以进一步帮助你...

编辑1

A.我可以看到你正试图访问UNC paths,这将工作,如果网络文件夹被允许通过Apache用户

B. Fatal error: Call to undefined function imagecreatefromstring() in

这意味着你没有GD http://php.net/manual/en/book.image.php你的PHP安装在服务器上,因为这是你的Linux机器可以运行访问像# yum install php53u-gd

+0

您好,非常感谢您的意见,我非常感谢!运行代码片段时遇到以下错误:Warning:file_get_contents(\ WINDOWS-SERVERNAME \ Photos \ image.jpg)[function.file-get-contents]:无法打开流:在/ var中没有这样的文件或目录/www/vhosts/SERVERNAME/html/photo.php on line 4 致命错误:调用未定义的函数imagecreatefromstring()在/var/www/vhosts/SERVERNAME/html/photo.php上第5行 – jtnaylor 2012-04-24 16:52:45

+0

确切地说,错误..这将帮助我知道正在处理什么 – Baba 2012-04-24 16:54:24

相关问题