Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件将内容放在OS X El Capitan上_Php_Macos_File Put Contents - Fatal编程技术网

Php 文件将内容放在OS X El Capitan上

Php 文件将内容放在OS X El Capitan上,php,macos,file-put-contents,Php,Macos,File Put Contents,我是Mac OS X新手。目前,我想在我兄弟的OS X上放置一个本地主机,并为他托管php文件。我制作了一个php,可以拍摄一张照片并直接保存到文件夹中。代码在我的Windows7电脑上运行,我可以正常使用它。但是,它在OS X中不起作用,因为它总是无法将照片存储在本地文件夹中。 我保存图片的代码是: <?php require('includes/connect.php'); // Connect to database $rmid = $_GET['id']; // Get prod

我是Mac OS X新手。目前,我想在我兄弟的OS X上放置一个本地主机,并为他托管php文件。我制作了一个php,可以拍摄一张照片并直接保存到文件夹中。代码在我的Windows7电脑上运行,我可以正常使用它。但是,它在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!');
}

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

sudo chmod -R 777 *target_folder*

这将解决问题。

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

sudo chmod -R 777 *target_folder*

这应该可以解决问题。

您好efraim,您对目标文件夹有读写权限吗?@Rob Biermann是的,我已经按照上面所写的那样在“foto”文件夹中进行了读写操作,但仍然无法工作。如果您将终端和cd使用到文件夹所在的位置,请执行
ls-l
,您应该看到权限,OSX是linux,这意味着权限的工作方式与windows机器不同。测试环境的最佳实践是执行以下命令:
sudo chmod-R 777 foldername
。777将设置所有读写权限(仅供参考:右键单击->显示信息通常几乎相同,但不完全相同),了解有关我的意思的更多信息:@Rob Biermann我应该更改哪个文件夹以获得权限?XAMPP的整个文件夹、项目文件夹,还是仅存储文件的“foto”文件夹?@RobBiermann谢谢!它现在可以工作了,谢谢你的大力帮助。你好,efraim,你对目标文件夹有读写权限吗?@Rob Biermann是的,我已经像上面写的那样在“foto”文件夹中进行了读写操作,但仍然没有工作。如果你使用终端和cd到文件夹所在的位置,那么执行
ls-l
,您应该看到权限,OSX是linux,这意味着权限的工作方式与windows机器不同。测试环境的最佳实践是执行以下命令:
sudo chmod-R 777 foldername
。777将设置所有读写权限(仅供参考:右键单击->显示信息通常几乎相同,但不完全相同),了解有关我的意思的更多信息:@Rob Biermann我应该更改哪个文件夹以获得权限?XAMPP的整个文件夹、项目文件夹,还是仅存储文件的“foto”文件夹?@RobBiermann谢谢!它现在正在工作,感谢您的大力帮助。虽然0777权限不应该是一个解决方案,但让用户PHP/Apache运行并检查目标文件夹上的权限,例如,如果满足所有条件,0755应该足够用于该文件夹。尽管0777权限不应该是一个解决方案,让用户PHP/Apache运行并检查目标文件夹的权限,例如,如果满足所有条件,0755应该足够用于该文件夹。