• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPとjavascriptについて)

PHPとjavascriptについて

このQ&Aのポイント
  • PHPとjavascriptを使用したファイルアップローダに機能を追加しようとしていますが、上手くいきません。
  • 追加しようとしている機能は、同じ名前のファイルがある場合に確認ダイアログを表示し、アップロードを続行するかキャンセルするか選択するというものです。
  • 現在の処理の流れは、ファイルをアップロードし、送信データを同じページで受け取り、アップロードするディレクトリを指定し、指定されたディレクトリにファイルをアップロードするというものです。

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

  • ベストアンサー
  • Redpython
  • ベストアンサー率56% (9/16)
回答No.1

こんにちは。 ご存じかも知れませんが、Javascript は Web クライアント(ブラウザ)側で動くプログラムですね。 もしアップしようとしているファイル名が、サーバ側に既に存在している事を Javascript が知っているのなら、Javascript のコード内に、既存のファイル名のリストを持っており、アップしようとするファイル名がそのリストに含まれているかを判断させる必要が出てきてしまうでしょう(AJAX で非同期的にバックエンドでサーバに問い合わせることもできるでしょうけど…)。 PHP でロジックを組んだ方がシンプルかと存じます。 同名のファイルが存在したとき、アップするファイルの指定もユーザにもう一度催促するのか、別のファイル名の指定のみを催促するのかで、ロジックも変わってきますね。

tamanele
質問者

お礼

やっぱりサーバ依存とクライアント依存の関係を考えて書くとなるとまだ自分には敷居が高いみたいですね…。 とりあえずPHPのみで書いてみました。 単純に 同じファイルあったらダメ 無かったらOK 同じファイルあっても強制で上書き の項目をチェックボックス1つで作りました。 これでも大丈夫なようだったので(苦笑) ご解答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • javascriptでアクセス制御されているファイルにアクセス

    javascriptからあるディレクトリ中のファイルの内容を読み取って処理を行うようなアプリケーションを作成しようと思っています。 ただこのファイル自体を外部、例えばブラウザから直接参照されたくないので試しにhtaccessでFilesディレクティブの機能を使用してディレクトリ自体へのアクセスを制御してみたのですが、こうするとjavascriptからもファイルへアクセスできなくなりました。 こういった場合はどのようにすればよろしいのでしょうか? あるいは別の方法などはありますでしょうか? どなたかご存知でしたらご教授ください。 よろしくお願いいたします

  • javascriptのPHP化について

    宜しくお願い致します。 javascriptの外部ファイルをPHP化して、サーバサイドで動的に生成した内容を吐き出し、それをHTML側でjavascriptの外部ファイルとして受け取って処理しております。 この場合のブラウザがアクセスした際に処理される順番は・・・ (1)HTMLの読み込み開始 (2)header内のjavascript外部ファイルの読み込みと実行 (3)HTMLファイルのbody以下を読み込み (4)結果をブラウザに返して表示 という流れになるはずです。 この場合、(2)のjavascript外部ファイルの方がbodyより先に実行されるはずです。 しかし、javascript外部ファイル内のPHPでセッションデータを扱っている場合、(3)のbody内でPHPでセッションを定義した内容が、なぜか(2)のjavascript外部ファイルで反映されて実行されるのです。 私のイメージでは・・・ (1)HTMLの読み込み開始 (2)header内のjavascript外部ファイルの読み込みと実行  ※この時セッションは反映しない (3)HTMLファイルのbody以下を読み込み  ※この時にセッションを入れても(2)が既に実行さられているので反映しない (4)結果をブラウザに返して表示  ※結果、セッションにデータが入っておらず、php側でエラーを吐き出しjavascriptが止まる という様になるかと思ってましたが、なぜか実行されます。 javascriptはHTMLが全部読み込まれてから実行されるのでしょうか?

  • PHPとJavaScriptを使ったファイルアップロードについて

    PHPでファイルアップロードで、サイズオーバーなら、HTML側でJavaScriptを使ってアラートを表示する方法がさっぱりわかりません。どうかアドバイスお願いします。 PHP側でphp.iniに指定しているファイルサイズを越えたならば、 if($_FILES['userfile']['error'] == UPLOAD_ERR_INI_SIZE) とやって、HTML側でJavaScriptを使って、「ファイルサイズオーバー」みたいなアラートを表示する。 というやり方です。 どうぞ宜しくお願いします。

    • 締切済み
    • PHP
  • wmvファイルを保存するダイヤログを表示する

    JavaScriptを使用してwmvファイルをメディアプレイヤーを起動させずに、 ファイルを保存する、のダイヤログを表示させたいと思っています。 showModalDialogというのを使用すると、JavaScriptを使用してダイヤログ ウィンドウを開くことが出来る、と聞いたのですが、このコマンドを使用 して、wmvファイルを直接指定すると、真っ白いウィンドウが開いて、 そのまま何も反応しません。 プレイヤーも起動しませんが、ファイルを保存する、という表示もでない ので困っています。 JavaScriptを使用して、メディアプレイヤーを起動させずに、ファイルを 保存する、のダイヤログを表示させることはできるのでしょうか?

  • class.upload.phpでファイル文字化け

    class.upload.phpを使って画像アップロード機能を作成しました。 テンプレートのフォーム<input type="file">でアップしたい画像を選択して、"アップロード"ボタンを押すと、class.upload.phpが動いて指定したディレクトリに画像がアップされるところまでできました。 また、アップした画像をテンプレート内に表示したいため、上記の処理と同時にDBに画像のファイル名だけをinsertするプログラムも自作しました。 上記2つの機能で画像のアップロード・閲覧をしようとしているのですが、class.upload.phpを使用してアップされた画像ファイル名に日本語またはスペースが含まれる場合、日本語の部分とスペース部分だけが文字化け!?を起こしてしまいます。 例としては、ローカルにある画像名が 「kousin - コピー.gif」 の場合、アップされたファイル名は 「kousin___.gif」 となってしまいます。 色々と調べたところ、文字コードが原因の可能性があることが分かったのですが、class.upload.phpの $handle->パラメータ でアップするファイルの文字コードを変更できる機能があるか探したところ、それらしき機能が見つかりませんでした。 そこで、画像のアップ処理をする前に、mb_convert_encodingを使って$_FILES["img"]["name"]に対してSJISにするようにしてみたのですが、アップされたファイル名に多少の変化はあったものの、正しいファイル名になってくれません。 アップする画像名に日本語やスペースが入っている場合、どのように対応したら良いのか分かりませんので、解決策がお分かりの方、同じ現象で苦戦している方いらっしゃいましたら、ご教授・ご報告の程お願い致します。 (※解決方法は、class.upload.phpを使った方法、オリジナルのプログラムをかませる方法どちらでも構いません) 下記、開発している環境などです。 =================== サーバ:CentOS5.4 使用言語:XHTML、CSS、JavaScript、PHP5、MySQL 上記の言語、それぞれ別ファイルで作成しており、どれも文字コードはUTF-8N、改行コードはHTMLはCRLF、それ以外はLFにしております。 =================== 以上、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • サーブレットにJavaScriptを組み込みたいのですが・・・

    Javaを独習し、Eclipseでサーブレットを作りました。(TomcatとMySQLを使って自分のパソコンでテストしています)基本的な機能はなんとか動かせるようになったのですが、もう少し機能を追加しようと思い、JavaScriptの辞典を買いました(コードが充実しているし、Javaに比べて簡単そうなので)。サーブレットの outprintln("< ~ の中で html に混ぜてみたのですが、JavaScript の部分だけが読み飛ばされてしまっているようなのです。直接、インターネットエクスプローラー(6.0)でファイルを開くとちゃんと表示されます。コンテントタイプに text/html と指定しているからなのかとも考えるのですが、よくわかりません。JavaとJavaScriptは違うという理由で無理なのでしょうか。どなたか教えていただけないでしょうか?よろしくお願い致します。

    • ベストアンサー
    • Java
  • シェルプログラミングでスペースを含むパスの扱い方

    シェルプログラミングでスペースを含むパスの扱い方 まだあまり意味のないプログラムですが以下のプログラムを書きました。(以下program.sh) sh program.sh "C:\Program Files\Af\afx17" "*.pdf" といった感じでスペースがあるパスと探すファイルの拡張子をprogram.shに渡します。 \を/に変えて””でくくりました。しかし以下のエラーがでてうまくできませんでした。 find: `"c:/Proram': No such file or directory find: `Files/Af/afx17/"': No such file or directory " "(スペース)を"\ "(バックスラッシュとスペース)に変えて””でくくってもやっぱりだめでした。 findl: `"c:/Proram\\': No such file or directory findl: `Files/Af/afx17/"': No such file or directory 直接find $1 -name $2としてもだめでした。 findl: `c:\\Proram': No such file or directory findl: `Files\\Af\\afx17': No such file or directory 色々試しましたがどうやってもうまくいきません。何がいけないのでしょうか?

  • JavaScriptの確認ダイヤログについて

    JavaScriptの確認ダイヤログについての質問です。以下のコードにて、チェックボックスをチェックした値について、削除ボタンを押すと「本当に削除しますか?」というダイヤログが表示され、OKを押せば削除処理を行うServletに、キャンセルを押せば元の画面のまま、という流れにしています。以下がコードです。 function Delete(){ //チェックボックスにチェックがされているものには、変数statusに1を代入 for (i = 0; i < document.form_out.elements.length; i++){ if (document.form_out.elements[i].checked){ var status = 1; } } // チェックボックスがすべて未チェックの場合 if(!status){ alert("削除する行を選択してください"); return false; } var del = document.forms("form_out"); var judge = confirm('本当に削除しますか?'); //確認ダイアログに対してOKをクリックした場合 if(judge==true){ //削除処理を行うサーブレットにPost送信 del.action = 'MerchandiseSrv_Delete'; del.submit(); }/*(1)*/ } ダイヤログは表示されるのですが、キャンセルを選択した場合も何故かServletに飛んでしまいます。つまり削除処理が行われてしまいます。(1)の部分に、 }else{ アラート('キャンセルしましたよ'); } と記述すると、キャンセルをクリック→アラートが表示→削除処理へ、という意味不明な?流れになってしまっています。Servletは削除機能だけなので、恐らくはこのJavaScriptコードが間違っていると思うのですが。どなたか教えていただけないでしょうか?よろしくお願い致します。

  • getURLでJavaScriptが反応しない

    下のようなActionScriptで、 _root.getURL("JavaScript:open_window()"); 既に読込まれているHTMLファイル中で定義しているJavaScriptのfuncitonによりポップアップウィンドウを開いています。 function open_window(){  window.open("sample.html","sample","width=500,height=400,directories=no,location=no,toolbar=no,menubar=no,scrollbars=no,status=no,resizable=yes") } このファンクションは、ボタンのクリックにより呼出しを行っており、開発環境では、期待通りに動作しております。しかし正常動作しているのと同じ設定(IE7+FlashPlayer8)の別のPCでは、全く反応がない症状となっています。 また、SWF内のgetURLからでなく、HTML内からのJavaScriptによる同様なwindow.open()の呼出しでは問題なく動作しています。 ブラウザやノートンのポップアップ設定を確認しましたが問題ありませんでした。いろいろと調べたのですが、原因がよく分かりません。 確認すべき点や改善方法などについてご存知の方、お力添えをお願いいたします。

    • ベストアンサー
    • Flash
  • PHP 500エラー

    新着情報のPHPを導入しようと説明に従ってFTPにアップしたのですが、admin.phpのページが500エラーで開かず困っています。初心者です。 パーミッションも全て指定通りに設定し、サーバーはファーストサーバーなので、ディレクトリへ.htaccessファイルを置いています。(文字コードの指定用) (.htaccessファイルを設置していない場合エラーは出ませんがページが変換されず(?)記述の文章がそのまま表示されているだけのページがでます。) 知識不足でお恥ずかしいですが、どうかご教授頂けないでしょうか。

    • 締切済み
    • PHP