2012-04-24 152 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

相關問題