• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルのアップロードについて)

ファイルのアップロードについて

このQ&Aのポイント
  • phpのmove_uploaded_fileを使用してアップロードをしようと思うのですがアップロードが出来ません。
  • ローカル環境のwindowsでのアップロードは行えるがlinuxでは失敗してしまいます。
  • move_uploaded_fileからはエラーは出力されていません。そもそもmove_uploaded_fileが成功しているのになんでアップロードされていないのか分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

大きく2つ述べておきます。 大1. ソースが整理されていないし文法エラーもあります。 この部分 if ( move_uploaded_file($tmp_name, "../1/33/.$cnt."2upload.jpg ←""の閉じ具合がおかしい ")){ //ファイルアップロード echo "アップロード成功 .$ermsg."\n" ; ←""の閉じ具合がおかしい echo "  テンポラリファイル="$tmp_name."\n"; ←.が足りない echo "  アップロードファイル="$dir_img."/".$cnt.UPLOAD_FILE_NAME."\n"; ←.が足りない 私であれば修正を最小限にしつつ次のように書くかな。 $lastname = $dir_img."/".$cnt.UPLOAD_FILE_NAME; if ( move_uploaded_file($tmp_name, $lastname) ){ //ファイルアップロード echo "アップロード成功" .$ermsg."<br />\n" ; echo "  テンポラリファイル=".$tmp_name."<br />\n"; echo "  アップロードファイル=".$lastname."<br />\n"; まあアップロード成功メッセージまで行っているようなのでソースの写し間違い箇所 もあるかもしれませんが、それはそれで注意していただきたいものです。 とにかくmove_uploaded_file()の引数と、その後のecho対象が違う方式で書かれているのが 気になります。 ご本人は同じつもりでしょうが、同じものは同じ変数(ここでは$lastname)に整理 しておいたほうがしょうもないミスを防ぐことができてよいと思います。 大2. ファイルの探し方の問題かもしれませんね。 アップロード成功メッセージまで行っているんですからどこかにファイルが出来て いるはずです。 まさかと思うようなところまで探してみましょう。 それに際しアドバイスがいくつかあります。 (1)Linuxのfindコマンドを駆使しましょう。可能なら一番上の/から探しましょう。 (2)何らかの理由で.で始まるファイル名になっていた場合lsでは見れないので ls -aで見ましょう。 もしそうだったらファイル名の先頭に.がつかないようにソースを見直しましょう。 (3)ファイル名に$cntを付加したりファイル名を変更したりするのを一旦やめて 元のファイル名でアップロードした方がファイルが探しやすいかも

noname#136767
質問者

お礼

アドバイスありがとうございます。。 返事がかなり遅くなりもうしわけありません 本件につきましては自己解決することができました。 私のしらないソースがあり。後続処理にてアップロードしたファイルを別名退避後に削除していました。

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • A4の紙を設置し、プリンタ画面のスキャン>PC>ファイル>スタートを押しても動かずスキャンしてくれません。Brother Utilitiesを開いてControlCenter4ボタンを押しても何も反応しません。
  • Windows11でUSBケーブルでパソコンとプリンタを接続中。パソコンにはNortonが入っています。
  • 問題のあるMFC-J6980CDW JPNプリンタによるスキャンのトラブル。A4の紙を設置してもスキャンができず、Brother UtilitiesやControlCenter4も反応しません。接続はUSBケーブルで行っており、パソコンにはNortonがインストールされています。
回答を見る

専門家に質問してみよう