私はMac OS Xを初めて使っています。現在、私は兄OS Xにlocalhostを置き、phpファイルをホストしたいと思っています。私は写真を撮って、それを直接フォルダに保存できるPHPを作った。コードは、私のWindows 7のPCで動作していると私はそれを正常に使用することができます。しかし、それはいつもローカルでフォルダに写真を保存できなかったので、OS Xでは動作していません。 画像を保存するために私のコードは次のとおりです。OS X El capitanの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フォルダ内の「写真」フォルダを作成しています。そして私は全体を与えたRead &フォルダへの書き込み権限。なぜ写真がfotoフォルダの中に保存されているのかわかりません。しかし、クエリはデータベースにファイル名を格納するために働いています。
追加情報:私はPHP 7.0
あなたの助けをおかげでXAMPPを使用しています!
こんにちはefraim、あなたはターゲットフォルダの読み取りと書き込みの権限を持っていますか? –
@Rob Biermannはい私はすでに私が上記のように 'foto'フォルダに読み書きをしていますが、まだ動作していません。 – efraim
端末を使用していて、フォルダがある場所にcdすれば、 ls -l'を実行すると、アクセス権が表示されます。OS XはLinuxです。つまり、Windowsマシンとは異なる権限で動作します。テスト環境のベストプラクティスは、コマンド 'sudo chmod -R 777 foldername'を実行することです。 777は、私が意味することの詳細について、読み書きするためのすべての権限を設定します(fyi:右クリック - >情報の表示は通常ほぼ同じですが完全に同じではありません):https://www.linux.com/learn/understanding -linux-file-permissions –