質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2734閲覧

PHP 画像ファイルが保存できない

studenA

総合スコア1

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/03/29 03:59

編集2022/03/29 04:01

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>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

if(move_uploaded_file($tmp_path, $upload_dir)){

これだと、テンポラリファイルをディレクトリにあてはめようとしていると思います。
ちゃんと「ファイル名」にしてあげてください。

投稿2022/03/29 04:32

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/03/29 07:04 編集

自己主張ごめん。 しかし、あなたはteratailの会員である私を許す義務がある。 あなたはteratailの会員である私の質問を解答する義務がある。 私はm.ts10806とは1年以上の付き合いである。私はあなたを高評価した。 私はm.ts10806とは1年以上の付き合いである。私はあなたを高評価した。 私はm.ts10806とは1年以上の付き合いである。私はあなたを高評価した。 「いやもう結構なので。」とは?🤔 「結構」の意味を教えよ。 🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔 🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔 🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔 🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔 🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔
退会済みユーザー

退会済みユーザー

2022/03/29 07:06

あなたとは1年以上の付き合いである。 考慮せよ。
退会済みユーザー

退会済みユーザー

2022/03/29 07:11

あなたは怒っていますか? 誤解である。
退会済みユーザー

退会済みユーザー

2022/03/29 07:14

大至急返信してください! 私を嫌いですか? 私を憎む? 私は発狂したら、あなたは喜ぶ?
退会済みユーザー

退会済みユーザー

2022/03/29 07:23

あなたは退席中ですか? 1年以上の付き合いですよ? 多少のミスを許せ。 考慮せよ。
退会済みユーザー

退会済みユーザー

2022/03/29 07:24

私はあなたと仲直りしたい。
m.ts10806

2022/03/29 08:11

単純に気持ち悪いのでやめてください。
退会済みユーザー

退会済みユーザー

2022/03/29 08:17 編集

ごめん。 しかし、私は仲直りしたい。 あなたは昔は仲良しだった。 なぜ仲直りしたくないか論理的に解答せよ。
m.ts10806

2022/03/29 08:18

そのような義務はありません。 客観的に見て荒らしな人と付き合いたい人はいないでしょう。 それに何度指摘しても無関係の投稿を繰り返す。そりゃ無理だ。
退会済みユーザー

退会済みユーザー

2022/03/29 08:20

酷い… 今後も友達でいれますか? 今後も良き友達でいなさい。 1年以上の付き合いであるから、多少のミスは許されるべき。
m.ts10806

2022/03/29 08:23 編集

もともと友達のつもりはない。 今後もなることはない。 本当に気持ち悪い。迷惑しかかけてないし相変わらず自己主張しかしない。 命令できる立場にないでしょう。 つーか、さっさと無関係の投稿をやめなさい。
退会済みユーザー

退会済みユーザー

2022/03/29 08:24

ごめん。 しかし、友達であったことは事実である。 あなたは優良ユーザーと人間関係を構築する気がないことを私は理解した。 私は「無関係の投稿」(実際は無関係ではない)をやめる。
studenA

2022/03/31 02:19

ご尽力ありがとう御座います。 自分で理解出来ていないコードを書くのはよくないですね… もう1度勉強してから、チャレンジしてみます。
m.ts10806

2022/03/31 02:42

理解にも方向性ややり方ってあると思います。 まずは、想定の情報が渡ってきているかどうかひとつひとつ確認していくことから始めてみてください。 特に変数ですね。
guest

0

$upload_dir = '/Applications/XAMPP/xamppfiles/htdocs/images/';

ルートにApplicationsというディレクトリがあるのでしょうか?
ルートからの絶対パスを指定してあげてください

投稿2022/03/29 04:10

yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

studenA

2022/03/31 02:20

Mac の環境でやっているのですが、Applicationsはついてきまして。 参考にしていた方も書いていたので、問題ないかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問