php の move_uploaded_file 関数を使用して
画像ファイルを一時的に保存されたファイルを指定の保存先へ保存をしようとしています。
指定の保存先へのパスはターミナルから引っ張ってきているので間違いはないのですが
保存することができません。
お力添え頂けますと幸いです。
php
1<?php 2//ファイル関連の取得 3$file = $_FILES['img']; 4 5$filename = basename($file['name']); 6$tmp_path = $file['tmp_name']; 7$file_err = $file['error']; 8$filsize = $file['size']; 9$upload_dir = '/Applications/XAMPP/xamppfiles/htdocs/images/'; 10 11 12 13 14//バリデーション 15//ファイルサイズ 16if($filesize > 52428800 || $file_err == 2){ 17 echo 'ファイルサイズが大きすぎます'; 18 echo '<br>'; 19} 20//拡張子 21$allow_ext = array('jpg','jpeg'); 22$file_ext = pathinfo($filename, PATHINFO_EXTENSION); 23 24if(!in_array(strtolower($file_ext),$allow_ext)){ 25 echo 'jpeg画像ファイルを選択して下さい'; 26 echo '<br>'; 27} 28//ファイルは選択されているか 29if(is_uploaded_file($tmp_path)){ 30 if(move_uploaded_file($tmp_path, $upload_dir)){ 31 echo $filename. 'を'. $upload_dir.'にアップしました'; 32 }else{ 33 echo '保存できませんでした'; 34 } 35} else { 36 echo'ファイルが選択されていません'; 37 echo '<br>'; 38} 39?> 40 41<a href="./upload_form1.php">戻る</a> 42
html
1 2<!DOCTYPE html> 3<html lang="ja"> 4<head> 5 <meta charset="UTF-8"> 6 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>画像アップロードフォーム</title> 9</head> 10 11 <body> 12 <form enctype="multipart/form-data" action="./file_upload.php" method="POST"> 13 <div class="file-up"> 14 <h3>画像アップロードフォーム</h3> 15 <p>画像を選択</p> 16 <input type="hidden" name="MAX_FILE_SIZE" value="52428800" /> 17 <input type="file" name="img" accept="image/*" /> 18 </div> 19 <div class="submit"> 20 <input type="submit" value="送信" class="btn"> 21 </div> 22 </form> 23 </body> 24</html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/03/29 07:04 編集
退会済みユーザー
2022/03/29 07:06
退会済みユーザー
2022/03/29 07:11
退会済みユーザー
2022/03/29 07:14
退会済みユーザー
2022/03/29 07:23
退会済みユーザー
2022/03/29 07:24
2022/03/29 08:11
退会済みユーザー
2022/03/29 08:17 編集
2022/03/29 08:18
退会済みユーザー
2022/03/29 08:20
2022/03/29 08:23 編集
退会済みユーザー
2022/03/29 08:24
2022/03/31 02:19
2022/03/31 02:42