PHPのある参考書籍の例題が上手く処理されない
web系の初学者であるとともにPHP初学者です。PHPで参考書籍を購入し例題を解きながら進めていたのですが、画像をアップロードする例題にて画像のアップロードが出来なくて困っています。サンプルコードを見ながら自分でコードを書いていましたが出来なかったので間違っている可能性を踏まえてサンプルコードをそのまま使って実行したものの結果は変わらず仕舞いでした。コードの8行目で毎回エラーが発生します。当該参考書籍(PHP5.5.11と少し古い)は理解に易しいものを購入し、理解を補うために「独習PHP第3版(PHP7)」も購入しています。両書籍を照らし合わせて考えてみましたがわかりませんでした。どなたか解決策をご教授願います、、、(独習PHPの方はmove_uploaded_file関数の使い方しか目を通せておりません。。すみません。)開発環境はXAMPP、OSはMacです。
発生している問題・エラーメッセージ
Warning: move_uploaded_file(album/IMG_6824.jpg): failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/tennis/upload.php on line 8 Warning: move_uploaded_file(): Unable to move '/Applications/XAMPP/xamppfiles/temp/phpFTImeS' to 'album/IMG_6824.jpg' in /Applications/XAMPP/xamppfiles/htdocs/tennis/upload.php on line 8
該当のソースコード
<?php $msg = null; //アップロード状況を表すメッセージ //アップロード処理 if(isset($_FILES['image']) && is_uploaded_file($_FILES['image']['tmp_name'])) { $old_name = $_FILES['image']['tmp_name']; $new_name = $_FILES['image']['name']; if(move_uploaded_file($old_name, 'album/' .$new_name)) { $msg = 'アップロードしました。'; } else { $msg = 'アップロードできませんでした。'; } } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>交流サイト:画像アップロード</title> </head> <body> <h1>交流サイト:画像アップロード</h1> <p><a href="index.php">トップページに戻る</a></p> <?php if($msg) { echo '<p>' .$msg. '</p>'; } ?> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="アップロード"> </form> </body> </html>
試したこと
・PHPのバージョンの違いによるものと考えPHP7の書籍で照らし合わせたが特に書き方に違いは見られなかった。
補足情報(FW/ツールのバージョンなど)
・エラーメッセージの「IMG_6824.jpg」はアップロードしようとした画像ファイルでこの画像ファイルを「album」というファイルに入れようとしている。(ファイルalbumは作成済)
・サーバはlocalhost。
回答1件
あなたの回答
tips
プレビュー