画像がアップロードできる掲示板をつくっています。
内容を記入して投稿する前にプレビューできるようにしたのですが
ファイルの絶対パス(c:\なんとかかんとか\gazou.jpgのようなアドレス)が取得でず困っています。
まずフォームからの内容を
$file_name= $_FILES['sendfile']['name'];
で受け取ってみました。
その後
$_SESSION['sendfile'] = $file_name;
という風にセッションに入れて別の確認ページに
飛ばすという形にしてみたのですが、
こうするとファイル名だけが取得できました。
絶対パスを取得するには「realpath()」を使うと書籍などにも書かれていたので
$file_name = realpath($_FILES['sendfile']['name']);
としたり
$_SESSION['sendfile'] = realpath($file_name);
としたりしてみたのですが
どうもうまく行きませんでした。
根本的に使い方がまちがっているのでしょうか?
アドバイスよろしくおねがいします。
No.1ベストアンサー
- 回答日時:
こんにちは。
http://fol.axisz.jp/php/man/php/features.file-up …
にある内容しかサーバ側のスクリプトはわかりません。
JavaScriptにてローカル側の選択したファイルパスをサーバ側に送ることも出来ますが、お勧めできません。
(JavaScriptが使えない場合は送られてきませんし、ローカル側のフォルダ構成等を見られるのは(見ないとしても)あまり良い気分ではありません。
No.3
- 回答日時:
私も日本語のファイル名をshift jisで受け取るときに”表”などがディレクトリセパレータと認識されるためファイル名をフルパスで取得しようとあれこれやったことがあります。
結局multipart/form-dataの場合は生のpostデータが受け取れないためあきらめました。
*php3なら標準でファイル名がフルパスになっていたと思いますが今更php3には戻れないですし。
No.2
- 回答日時:
根本的なところから。
アップロードしたファイルは、テンポラリフォルダにテンポラリ名で保存されます。
テンポラリフォルダはphp.iniで
upload_tmp_dir = string
で指定されたものです。デフォルトはNULLで、UNIX系の場合は/tmp/になっています。
$_FILES[sendfile][tmp_name]
として臨時的に保存されます。そのファイルを自分の指定するファイルにコピー、又は移動させる必要があります。
すなわち、
$uploadfile = "格納するフォルダ".$_FILES['sendfile']['name'];
if (move_uploaded_file($_FILES[sendfile][tmp_name], $uploadfile)) {
echo "{$uploadfile}のアップロード成功";
}
となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列について教えて下さい。
-
サブフォルダ内の全てのテキス...
-
php で画面にコードが表示され...
-
携帯用phpフォームの自動返信メ...
-
input type valueの値について
-
MT4のファイルオプション画面の...
-
簡易ショッピングカートの精算
-
PHPでファイルアップロード時に...
-
PHPでURLにジャンプするには?
-
PHPでformで送信された結果のペ...
-
コードの何が間違っているのか...
-
ラジオボタンにあらかじめチェ...
-
phpでチェックボックスでの値の...
-
mysql データ登録
-
フォーム送信後の更新ボタンで...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで内容確認画面表示後メ...
-
php データベース更新
-
フォームに入力された内容を,...
-
ボタンをクリックでPHP文を実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
Flaskでサーバー立ち上げに関して
-
PHPからHTMLへの変数の受け...
-
PHP データベース データ更新
-
phpで変数を使ってcopyできない
-
POSTの項目に追加
-
phpで掲示板を作りたい
-
php、sqlite3にデーター追加で...
-
重複を防ぐ記述について教えて...
-
CakePHP テーブル名カラム名の...
-
プログラミングC++のmapについて
-
変数のパターン処理パート3
-
openCVのトラックバーについて
-
アップロードファイル名の文字化け
-
php で画面にコードが表示され...
-
fputcsv()で1レコード1行になる...
-
$_SESSIONに渡した後はそのまま...
-
PDOのprepareでLIKEの部分一致...
-
PHP5でRSS1.0のネームスペース...
-
PHP5でsimple_xml_load_fileす...
おすすめ情報