2016-05-03 91 views
0

我是新的Mac OS X.目前,我想放置一個本地主機在我的兄弟OS X和主機PHP文件爲他。我做了一個可以拍照並將其直接保存到文件夾的php。代碼正在我的Windows 7 PC上工作,我可以正常使用它。但是,它在OS X中不起作用,因爲它始終無法將照片存儲在本地文件夾中。 我的代碼保存圖片:在OS X上的file_put_contents埃爾卡皮坦

<?php 
require('includes/connect.php'); // Connect to database 

$rmid = $_GET['id']; // Get product ID 

// Fetch photo only if product id is not empty 
if (!empty($rmid)) { 
    $rawData = $_POST['imgBase64']; 
    echo "<img src='".$rawData."' />"; // Show photo 

    list($type, $rawData) = explode(';', $rawData); 
    list(, $rawData)  = explode(',', $rawData); 
    $unencoded = base64_decode($rawData); 

    $filename = date('dmYHi').'_'.rand(1111,9999).'_'.$rmid.'.jpg'; // Set a filename 
    file_put_contents("/foto/$filename", base64_decode($rawData)); // Save photo to folder 

    // Update database with the new filename 
    mysqli_query($conn,"INSERT INTO foto(rmid,namafoto) VALUES ('$rmid','".$filename."')"); 
} else { 
    die('Rekam Medis ID is missing!'); 
} 

我已經創建的PHP文件夾中的「照片」文件夾。我已經給了整個文件夾的讀取權限&。我不知道爲什麼照片不存儲在foto文件夾內。但查詢正在將文件名存儲到數據庫。

添加信息:我使用XAMPP和PHP 7.0

感謝您的幫助!

+0

你好efraim,你有目標文件夾的讀寫權限嗎? –

+0

@Rob Biermann是的,我已經在'foto'文件夾中進行了讀寫,正如我上面所寫,但仍然沒有正常工作。 – efraim

+0

如果使用終端,並且cd到文件夾所在的位置,然後執行' ls -l',你應該看到權限,OS X是一個linux,這意味着權限的工作方式與Windows機器不同。測試環境的最佳做法是執行命令:'sudo chmod -R 777 foldername'。 777將設置所有讀寫權限(fyi:右鍵單擊 - >顯示信息通常是近似的,但不完全相同),以瞭解關於我的意思的更多信息:https://www.linux.com/learn/understanding -linux-file-permissions –

回答

2

請試着改變你的目標文件夾的權限是這樣的:

sudo chmod -R 777 *target_folder* 

這應該解決這個問題。

+0

雖然0777權限不應該是一個解決方案,讓用戶運行PHP/Apache並檢查目標文件夾上的權限,例如,如果滿足所有條件,則0755應該足夠用於該文件夾。 – dbf

相關問題