![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
現在、画像のアップロードを行うソースを書いています。
その中で、is_uploaded_fileを使っているのですが、
思うような結果が出ず、悩んでおります。動作としては、
始めにregiKというボタンが押され、sub_initメソッドの$_POST["regiK"]
に移り、kakunin()メソッドに処理が移ります。
ここでは、『確認画面では?tmpのファイル名(tmp)1』という
表示がなされます。
次にinsertボタンを押し、sub_initメソッドの$_POST["insert"]→
insert()メソッドに処理が移ると、表示されるのが、
『ここは?tmpファイル名(tmp)』となり、(tmp)の後ろに
何も表示されません。
$in_fileTmpは表示されるのに、is_uploaded_file($in_fileTmp)は
表示されないのは、なぜなのか分かりません。
PHP初心者なので、とても簡単な問題かもしれませんが、
どなたかアドバイスして頂けると嬉しいです。
<?php
class Register extends Init_class{
function Register(){
$this->Init_class();
}
function kakunin($k_fileName,$k_fileTmp,$k_type){
$_SESSION["fileTmp"] = $k_fileTmp;
$_SESSION["fileName"] = $k_fileName;
$_SESSION["type"] = $k_type;
$t_f = is_uploaded_file($_SESSION["fileTmp"]);
echo "確認画面では?".$_SESSION["fileTmp"]."(tmp)".$t_f;
}
function insert($in_fileName,$in_fileTmp,$in_type){
$t_f = is_uploaded_file($in_fileTmp);
echo "ここは?".$in_fileTmp."(tmp)".$t_f;
}
function sub_init(){
if(isset($_POST["regiK"])){
$this->kakunin($_FILES['userfile']['name'],$_FILES['userfile']['tmp_name'],$_FILES['userfile']['type']);
}else if(isset($_POST["insert"])){
$this->insert($_SESSION["fileName"],$_SESSION["fileTmp"],$_SESSION["type"]);
}else{
$this->sub_disp();
}
}
}
session_start();
$init_obj = new Register();
$init_obj->sub_init();
$init_obj->sub_main();
?>
No.1ベストアンサー
- 回答日時:
> 移動または名前の変更が行われていない場合、リクエストの終了時に そのファイルはテンポラリディレクトリから削除されます。
で答えになるでしょうか?
参考URL:http://jp.php.net/manual/ja/features.file-upload …
No.2
- 回答日時:
フォーム -POST-> 確認 -POST-> 保存
という処理でよいでしょうか?
セッションに保持しているのはファイル名なので、
確認ページを表示した際に、実際のファイルは消えてしまいます。
<input type="file" />にvalueを与えることはできないので、
次のページでも使用するには、どこかしらファイルを移動なり保存する必要があります。
move_upload_fileで場所を移す、もしくは
セッションにファイルのデータも入れてしまうとか・・
やり方によっては不要なファイルを削除する、という処理が必要になります。
セッションならガーベージコレクションによって削除されますが。
この回答への補足
はい。フォーム -POST-> 確認 -POST-> 保存
という処理になっています。
できれば、insert()メソッドで、is_uploaded_file()や
move_uploaded_file()を使いたいと考えています。
>move_upload_fileで場所を移す
とは、$_FILES['userfile']['tmp_name']の場所を移すということですか?
また、
>セッションにファイルのデータも入れてしまう
とは、例えば、どのようなものを使えばいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
ファイルのアップロードがどう...
-
10MB以内のJPG画像
-
VBでクラウドストレージにア...
-
BASP21のFTPで日本語ファイル名...
-
ファイルをGET送信でアップロー...
-
ファイルサイズがpost_max_size...
-
phpでログインの有無によってフ...
-
move_uploaded_fileについて
-
ftp_putとftp_fput
-
画像アップロードについて
-
one drive のアップロード失敗...
-
大きいファイルのアップロード...
-
ftpでアップロードが出来ない
-
ファイルのアップロード$_FILES...
-
unlinkでどうしてもファイルが...
-
携帯からファイルアップロード...
-
DUMPした巨大SQLファイルをイン...
-
アップロードのボタンが有りま...
-
同じファイル内で、アップロー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
ファイルアップロードの上限を...
-
youtubeに音声のみのmp4ファイ...
-
FTPClientで転送結果(OKかFAIL)
-
one drive のアップロード失敗...
-
unlinkでどうしてもファイルが...
-
ファイルをGET送信でアップロー...
-
ftpでアップロードが出来ない
-
ファイルサイズがpost_max_size...
-
PHPでxmlをAPIに送信する方法(P...
-
aws cloud9というものを使って...
-
ファイルアップロードについて...
-
DUMPした巨大SQLファイルをイン...
-
全角ファイル名をアップロード...
-
PHPMailerで大きなファイルが送...
-
SmartyでHTMLソースの変更が反...
-
Struts2 ファイルアップロード
-
ファイルアップロードしたもの...
-
画像ファイルの名前をそのままU...
-
サーバーにアップロードしたい
おすすめ情報