OS X El Capitan上的file_put_contents

时间:2016-05-03 12:48:08

标签: php macos file-put-contents

我是Mac OS X的新手。目前,我想在我的兄弟OS X上放置一个localhost并为他托管php文件。我制作了一个可以拍照并将其直接保存到文件夹的PHP。代码正在我的Windows 7 PC上工作,我可以正常使用它。但是,它无法在OS X中运行,因为它始终无法将照片存储在本地文件夹中。 我保存图片的代码是:

<?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'文件夹。我已经给了整个Read&amp;写入文件夹的权限。我不确定为什么照片没有存储在foto文件夹中。但是查询正在将文件名存储到数据库中。

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

请尝试更改目标文件夹的权限,如下所示:

sudo chmod -R 777 *target_folder*

这应解决问题。