• 受付中

報酬付き

WordPressの質問(q10245849)の続

回答が遅れてしまい申し訳ありません、こちらが最新の質問になります。 質問入力画面に画像をアップロードした場合と動画をアップロードした場合で大きさが変わってしまうのですが、統一することは可能でしょうか? こちらは以前 dell_ok さんにお聞きした覚えがあり難しいとアドバイスを頂いた記憶があるのですが… 質問入力画面にファイルをアップロードする場合クリックして選択する方法だけでなくドラッグ&ドロップも追加することは可能でしょうか? ※最新コード https://wandbox.org/permlink/IM6IiiwxaS6eXwXY

みんなの回答

  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.35

・ajaxを使う方法とIntersection Observer (IEでは動作しない)を使う方法の2つを見つけたのですが、どちらがよいと思われますでしょうか? どちらでもいいような気はしますが、 後者の参考サイトはPHPとのやりとりが書かれていないので、 参考にするのは難しいと思います。 私は詳しくないので、質問者さまが実装されてどうなるかです。 エラーになればコードをいただいて私の環境で試してなにかしらを判断することはできるとは思います。 どちらも非同期通信をするはずですが、 間にWordPressがあるので以前やった方法を参考にPHP側は実装してみてください。

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.34

・全体に1つ div を設定するために foreach ($rows as $row) {} のループの外に echo '<div>'; echo '</div>'; を追加しております。 HTMLは下記のようにすることに致しました。 実行して期待通りになったのならそれでいいと思います。 私は実行していませんが、こうなると予想しています。 <div> <div>がぞう</div> <div>たいとる</div> <div>がぞう</div> <div>たいとる</div> <div>がぞう</div> <div>たいとる</div> <div>がぞう</div> <div>たいとる</div> <div>がぞう</div> <div>たいとる</div> </div> 無限スクロールを実装される予定のようなので、PHPのここの処理はまったく不要になりますが、 JavaScriptで実装するにしても、手書きのHTMLは重要ですので、 上記のイメージが正しいのかどうか考えてみてください。

php_learn
質問者

補足

回答ありがとうございます、上記のイメージ通りになります。

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.33

・以前記事の方に設定した際とは異なり記事のIDがないため実行できるのか不安です。 以前のコードがどうなっていたかわからないのですが ID は関係ないような気がしています。 関係あるとしても sortable にも ID はあるので使えるのではないでしょうか。

php_learn
質問者

補足

回答ありがとうございます。 ページネーションについて調べたところ、最近では無限スクロール型を採用しているサイトが多いようで、PC 以外でサイトを閲覧している方が見やすいようになっているようです。 デメリットとして Javascript で作成するため SEO に認知されないようですが、メイン記事でしっかり集客すれば問題ないとの理由で流行しているとのことでした。 上記の理由から無限スクロールで作成しようと考えております。 ajaxを使う方法とIntersection Observer (IEでは動作しない)を使う方法の2つを見つけたのですが、どちらがよいと思われますでしょうか? 初めは ajax を使う方法で作成したいと考えていたのですが、<input type="hidden" id="count" value=0>が使われており// コンテンツ件数 $count = $_POST["count"]; を取得する方法が送信?となっているようで、どのような流れで作られているのか分からず、Intersection Observer の方が良いのではないかと考えております。 ※PHPとajaxで無限スクロール https://www.agent-grow.com/self20percent/2021/08/03/php%E3%81%A8ajax%E3%81%A7%E7%84%A1%E9%99%90%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/ ※Intersection Observerで無限スクロール https://weblasts.com/javascript/intersection-observer

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.32

・名前と画像全体に1つだけ div を設定する方法が分からず まずは出力したいHTMLを手書きしてみてください。 それをPHP出力に変えるといいと思います。 ところで、一部コメントにされていますが、 タグをコメントにする場合は対になるものもコメントにしておいた方がいいと思います。 でないと、階層がずれて想定外の出力になるからです。 とは言え、不思議なことにブラウザがいい感じにそろえてくれたりして、 コードミスに気付かなかったりもします。 echo '<div>'; //echo '<div><a href="'.$url.'">'.$row->unique_id; echo '<div>'.$row->namae.'</div>'; echo '<div>'.$view.'</div>'; echo '<div>'.mb_strimwidth($row->message, 0, 38, '・・・').'</div>'; ここもコメント //echo '</a></div>'; echo '</div>'; 上記のコードをもとにすると、HTMLはこんな感じになると思います。 <div> <div>なまえ</div> <div>がぞう</div> <div>しつもん</div> </div> 名前と画像全体に div を設定するとこうなります。 <div> <div> <div>なまえ</div> <div>がぞう</div> </div> <div>しつもん</div> </div> 増えた div の部分をPHPで出力してください。

php_learn
質問者

補足

Q.ところで、一部コメントにされていますが、 タグをコメントにする場合は対になるものもコメントにしておいた方がいいと思います。 でないと、階層がずれて想定外の出力になるからです。 A.アドバイスありがとうございます。コメントアウトにする場合は対になるものも考えるように致します。 全体に1つ div を設定するために foreach ($rows as $row) {} のループの外に echo '<div>'; echo '</div>'; を追加しております。 HTMLは下記のようにすることに致しました。 <div> <div>がぞう</div> <div>たいとる</div> </div> ※最新コード https://wandbox.org/permlink/IqAT3F3L5nYwAvyU

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.31

・クラスを削除することがセキュリティ上問題ないか少し心配になりました。 そうでしたか。 セキュリティについてはわからないので私からははっきりしたことは言えませんが、 クラスとセキュリティはあまり関係ない気がします。 ・以前のコードに戻すと clear ボタンを押すとアップロードしたものが消えてしまうのではないかと思い、 .style.display にしておりました。 指摘はしましたが、どちらの方法でも構いません。 どちらも同じことをしているようなものなので、 viewer[i].style.display に合わせた方が直接的でわかりやすいかもしれません。 いずれにしても、選択またはドロップしたファイルが消えることはありません。

php_learn
質問者

補足

回答ありがとうございます、質問してみたところセキュリティ上は問題ないようでした。 質問画面は終了したので、bbs_que_list.php 質問一覧表示画面を作成していきたいのですが、参考サイトのコードを見ながら書いてみたところ個別に div が設定されてしまい、名前と画像全体に1つだけ div を設定する方法が分からずアドバイスお願い致します。 現在のサイトの背景が青で質問一覧表示の背景のみ白を設定することでユーザーから分かりやすくしたいと考えております。 ※最新コード https://wandbox.org/permlink/ajqEUhWZC6htPEzl ※参考サイト https://q-az.net/php-function-html-output/ 上記とは別にお聞きしたいことがあります。 質問一覧表示する際に1ページ60コンテンツで考えていて、それを超過した場合はページナビを設定したいのですが、以前記事の方に設定した際とは異なり記事のIDがないため実行できるのか不安です。 Wordpress の機能を頼らずページナビを作成することは可能でしょうか? ※質問一覧表示画面の配置イメージ https://www.bilibili.com/

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.30

・usericon-uploads についてお聞きしたいのですが、アップロード前に表示しておいてアップロード後にクラスを削除することは問題ないでしょうか? どのクラスを削除することでしょうか。 どのような問題があると想定していますか。 最新コードを見てみました。 指摘1。 changeImgの処理に戻っています。  changeImg[i].classList.add('hideItems'); // もともとの画像を消す  changeImg[i].classList.remove('hideItems'); なぜ戻したのでしょうか。 これはfileAreaで処理することになったので戻さなくてよかったです。 指摘2。 fileAreaまで.style.displayの処理にしたのはなぜでしょうか。  .classList.add('hideItems')  .classList.remove('hideItems') のままでよかったと思います。 指摘3。 viewerの初期非表示がありません。  <div class="viewer" style="display: none;"></div>

php_learn
質問者

補足

Q.どのクラスを削除することでしょうか。 どのような問題があると想定していますか。 A.回答ありがとうございますクラスを削除することがセキュリティ上問題ないか少し心配になりました。 Q.指摘1。 changeImgの処理に戻っています。  changeImg[i].classList.add('hideItems'); // もともとの画像を消す  changeImg[i].classList.remove('hideItems'); なぜ戻したのでしょうか。 これはfileAreaで処理することになったので戻さなくてよかったです。 A.回答ありがとうございます、申し訳ありません削除するのを見落としておりました。 Q.指摘2。 fileAreaまで.style.displayの処理にしたのはなぜでしょうか。  .classList.add('hideItems')  .classList.remove('hideItems') のままでよかったと思います。 A.回答ありがとうございます。 以前のコードに戻すと clear ボタンを押すとアップロードしたものが消えてしまうのではないかと思い、 .style.display にしておりました。 Q.指摘3。 viewerの初期非表示がありません。  <div class="viewer" style="display: none;"></div> A.回答ありがとうございます、ファイルが無効な場合にはviewerは非表示とアドバイス頂いたので HTML で非表示にする必要はないと勘違いしておりました申し訳ありません。 ※最新コード https://wandbox.org/permlink/EW8WAKQzabJBGIIr

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.29

・どのように切り替えれば良いのでしょうか…? 以前回答と同じで※の位置に追加するだけです。 ファイルが有効な場合に表示。 分岐が不要なのはファイルが無効な場合にはviewerは非表示のままなのでなにもする必要がないからです。 ---- if (child !== null) { child.style.height = height; child.style.width = width; child.src = blobUrl[i]; //戻り値は追加した子要素 viewer[i] viewer[i].appendChild(child); ※viewer[i].style.display = "block"; //旧コード fileArea[i].classList.add('hideItems'); // もともとの画像を消す } ---- クリアの時に非表示。 ---- clear[i].addEventListener('click', () => { blobType[i] = ""; blobUrl[i] = ""; attach[i].value = ""; viewer[i].innerHTML = ""; ※viewer[i].style.display = "none"; fileArea[i].classList.remove('hideItems'); }); ----

php_learn
質問者

補足

Q.分岐が不要なのはファイルが無効な場合にはviewerは非表示のままなのでなにもする必要がないからです。 A.修正ありがとうございます。ファイルが無効な場合にはviewerは非表示のままなんですね… クリアボタンが押された場合の処理だと思っておりました。 usericon-uploads についてお聞きしたいのですが、アップロード前に表示しておいてアップロード後にクラスを削除することは問題ないでしょうか? どちらにも CSS が設定されているためアップロード後に viewer を表示することで2重にスペースが追加されてしまうため、usericon-uploads のクラスも削除する必要がありそうです。 下記のコードを bbs_quest_input.php の278行目と297行目に追加いたしました。 fileArea[i].style.display = "none"; fileArea[i].style.display = "block"; ※最新コード https://wandbox.org/permlink/COr5maqTgwZmAON8

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.28

・クラスの分岐は下記のような形で良いのでしょうか? 分岐の処理は不要です。

php_learn
質問者

補足

回答ありがとうございます。参考サイトを見てコードを考えたのですが、分岐処理がない場合 viewer[i].style.display = 'block'; で表示、viewer[i].style.display = 'none'; で非表示としてどのように切り替えれば良いのでしょうか…? ※参考サイト ※JavaScriptで「display:none」を設定して表示・非表示を切り替える方法 https://musclecoding.com/javascript-display-none/

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.27

そうですね。 ~.style.display = '~'; でいいと思います。 これは不要です。 const element = document.querySelectorAll('viewer'); それと、  element.style.display は、  viewer[i].style.display にしてみてください。 前回の回答でうまくいかなくてすみませんでした。 上記の方法でうまくいけると思いますので、 蛇足ですが、 直接記述した、 style="display: none;" が、クラス(hideItems)の追加と削除で消えると思っていたのですが、 よくよく考えたら消えるはずもなく。 直接記述せず、 viewer[i].classList.add('hideItems'); を最初に実行すればよかっただけでした。

php_learn
質問者

補足

アドバイスありがとうございます。viewer[i] を直接設定する方法は頭にありませんでした覚えておきます。 クラスの分岐は下記のような形で良いのでしょうか? else if (changeImg !== true) {} の部分があっているのか心配しておりました。       if (child !== null) { child.style.height = height; child.style.width = width; child.src = blobUrl[i]; //戻り値は追加した子要素 viewer[i] viewer[i].appendChild(child); //旧コード fileArea[i].classList.add('hideItems'); // もともとの画像を消す viewer[i].style.display = 'block'; }       else if (changeImg !== true) { const divUsericonDragoverArea = document.createElement("div"); // div (子)を生成 divUsericonDragoverArea.classList.add("usericon-dragover-area"); // classの追加 lavel.appendChild(document.createTextNode(divUsericonDragoverArea)); //子要素として Text ノードを生成 viewer[i].style.display = 'none'; }

全文を見る
すると、全ての回答が全文表示されます。
  • dell_OK
  • ベストアンサー率13% (743/5656)
回答No.26

表示非表示の切り替えは※の行を追加してください。 //戻り値は追加した子要素 viewer[i] viewer[i].appendChild(child); ※viewer[i].classList.remove('hideItems'); //旧コード fileArea[i].classList.add('hideItems'); // もともとの画像を消す viewer[i].innerHTML = ""; ※viewer[i].classList.add('hideItems'); fileArea[i].classList.remove('hideItems');

php_learn
質問者

お礼

申し訳ありません参考サイトを書き忘れておりました。 ※JavaScriptで「display:none」を設定して表示・非表示を切り替える方法 https://musclecoding.com/javascript-display-none/ ※比較演算子の使い方 https://www.sejuku.net/blog/23942

php_learn
質問者

補足

修正ありがとうございます。試してみたところアップロードするとファイル又は画像が消えてしまいます。 if (child !== null) {} は要素がない場合のコードだと思ったので、 ※viewer[i].classList.remove('hideItems');と※viewer[i].classList.add('hideItems');の add と remove を逆にしてみたのですが駄目でした。 自分なりにコードを考えてみました。<div class="viewer"></div> は非表示にせずに CSS で表示非表示を切り替える方法になります。 アップロードされていない場合は非表示、アップロードされた場合は表示。 // 要素を取得 const element = document.querySelectorAll('viewer'); if (child !== null) { child.style.height = height; child.style.width = width; child.src = blobUrl[i]; //戻り値は追加した子要素 viewer[i] viewer[i].appendChild(child); //旧コード fileArea[i].classList.add('hideItems'); // もともとの画像を消す element.style.display = 'block'; }       else if (changeImg !== true) { const divUsericonDragoverArea = document.createElement("div"); // div (子)を生成 divUsericonDragoverArea.classList.add("usericon-dragover-area"); // classの追加 lavel.appendChild(document.createTextNode(divUsericonDragoverArea)); //子要素として Text ノードを生成 element.style.display = 'none'; }

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

ベストアンサー獲得でポイントゲット!

関連するQ&A

  • WordPressの質問(q10082875)の続

    質問掲示板を作成しているのですがSQLでページの遷移がうまくいきません。 何か不足しているコードがあるのでしょうか? ※該当コード echo '<input type="hidden" name="action" value="confirmationform">'; ※質問掲示板 https://wandbox.org/permlink/07uPWjVPmU6rwrVJ ※お問い合わせページ(遷移可能な元のコード) https://wandbox.org/permlink/8BiCLMilyhjCC2qp

    • ベストアンサー
    • PHP
  • WordPressの質問(q10093310)の続

    スタンプ画像を送信する機能をデータベースに格納したいのですが、格納した数字と画像URLを結び付ける方法が分かりません。 アドバイスお願い致します。 ※最新のコード https://wandbox.org/permlink/A4VLYzAR2h4uYYRh

    • ベストアンサー
    • PHP
  • WordPressの質問(q10217484)の続

    アップロードされたカメラ画像を非表示にするコードを追加したのですが、表示するためのURLを追加するコードが抜けており追加いたしました。 上記とは別にアップロードされたファイルをエンコードするコードも抜けているのではないかと思っております。 旧コードでは対象ファイルではない場合にアラートで警告ダイアログを表示するコードとは別にエンコードするコードがあるため最新コードにも追加すべきではないかと考えております… 下記のコードは追加すべきでしょうか?(single-input.php の15行目から38行目まで) $attach = []; if (!empty($_SESSION['attach'])) { foreach ($_SESSION['attach']['data'] as $i => $data) { if (!empty($data)) { $base64 = base64_encode($data); } $type = $_SESSION['attach']['type'][$i]; switch ($type) { case 'image/jpeg': case 'image/png': $attach[] = '<img style="height: 100px;" src="data:'.$type.';base64,'.$base64.'">'; break; case 'video/mp4': $attach[] = '<video style="height: 100px;" controls src="data:'.$type.';base64,'.$base64.'">'; break; case 'application/pdf': $attach[] = '<iframe style="height: 100px;" src="data:'.$type.';base64,'.$base64.'"></iframe>'; break; default: $attach[] = ''; break; } } } ※最新コード https://wandbox.org/permlink/my2wffcXlhMQZFvW ※旧コード https://wandbox.org/permlink/cfzsJgBFcYrcIDI1

    • ベストアンサー
    • PHP
  • WordPressの質問(q10187929)の続

    blob を使いファイルアップロード機能を考えてみたのですが、画像と動画をどのように識別させるのかが分かりませんでした。 データ URI 形式で表示する方法と、Blob URL で表示する方法の2種類があるようです。 Data URI で動画を表示する方法は対応ブラウザの関係で避けた方が良いと思っております。 アドバイスお願い致します。 ※blob.php にコードを追加いたしました。 ※最新コード https://wandbox.org/permlink/PSXWslcYugaPqtjK ※参考サイト https://mixltd.jp/blog/how_to_make_thumbnail_from_input_video/ https://lab.syncer.jp/Web/JavaScript/Snippet/17/ https://qiita.com/azu369yu/items/8998e1e1536a5acfb7b3

    • ベストアンサー
    • PHP
  • WordPressの質問(q10072766)の続

    再度コードを考えてみたのですが、コードを閉じずに1括りにすることがあまりないのでどうすればよいか分かりません。アドバイスお願い致します。 https://wandbox.org/permlink/XTZwcEAEmKmh5oLZ ※全質問からお聞きしたいこと サイトキー、シークレットキーをユーザー側に隠して使用する方法が現状2通りあるようですが、 1つ目の方法であるモジュールの作り方が良くわからない状態です。モジュール自体はcpanel(レンタルサーバー)から作成できるようですが、 それがキーとして役割を果たすのかというのが心配です。 2つ目の方法である環境変数とかにして非公開ディレクトリから読み込むという方法も見つけたのですが、調べても意味が理解できませんでした… .htaccessファイルを使用するということでしょうか? アドバイスお願い致します。 https://knowledge.spirers.jp/article/development/detail/2186 https://zenn.dev/k_tabuchi/articles/d20de044bca3f7 ※該当コード https://wandbox.org/permlink/8DZ3f3aOyblnvWWT ※カスタムモジュールについて https://vtiger-mautic.info/vtigercrm-new-module/

    • ベストアンサー
    • PHP
  • WordPressの質問(q1023581)の続

    回答が遅くなってしまい申し訳ありません… 確認画面で分からないところがあり、アドバイスお願い致します。 ➀アップロードされたファイルを表示画面と同じ大きさ(height: 350px; width: 528px;)で表示したい場合どうすれば良いでしょうか? HTML を書き換えるコードの画像サイズを変更しても変化がないためどうすべきか悩んでおります。 ➁名前と画像アイコンの表示順を逆にしたいのですが、bbs_quest_input.php の452行目の divNamaePartialParts.appendChild(usericonImg); と 455行目の divNamaePartialParts.appendChild(child); コードで順番を変更させる方法が分からず教えて頂きたいです。 上記とは別の疑問になるのですが、質問文、質問タイトル、名前それぞれ残り1文字入力可能な状態で制限がかかってしまいます。 これは以内というコードになっているからでしょうか?何が原因となっているのか分からずアドバイス頂きたいです。 ※現在のコード https://wandbox.org/permlink/piR82q0rnnWvVphI ※確認ページ表示画面 https://imgur.com/AucGqLf.png ※質問掲示板 http://www.irasuto.cfbx.jp/%e8%b3%aa%e5%95%8f%e6%8e%b2%e7%a4%ba%e6%9d%bf/

    • ベストアンサー
    • PHP
  • WordPressの質問(q10145776)の続

    不正なトークンと表示されるため、single-regist.phpから下記のコードを削除したのですが、そちらは問題ないでしょうか? 送信時にトークンが必要だと思いますので、登録結果画面には必要ないのではないかと考えております。 //確認画面でデータが安全であることが確認された上で$_SESSIONを経由して画面遷移するが、登録結果画面へは不正アクセスできるから必須 if (empty($_SESSION['token']) || empty($_POST['token']) || $_SESSION['token'] !== $_POST['token']) { exit('不正トークン'); } ※single-regist.phpの11行目からトークンのコードになります https://wandbox.org/permlink/vCbUEZFcvQf2n1DK

    • ベストアンサー
    • PHP
  • WordPressの質問(q10197680)の続

    DOM-based XSS に関するコードについて考えているのですが、関数の「巻き上げ」が可読性と保守性を損なうようで funcion について修正すべきか考えております。 関数宣言を関数式にして const 変数に代入する方法で修正してみたのですが問題はなさそうでしょうか? 57、62、109、212行目を変更いたしました。 ※関数宣言での巻き上げについて https://qiita.com/kerupani129/items/b2c3619856b048c13394 ※DOM-based XSSのシンクとして働く機能 https://gihyo.jp/dev/serial/01/javascript-security/0006 ※以前アドバイス頂いたコード ※元のコード function lengthCheck() { const left = this.dataset.maxlength - this.value.length; if (left >= 0) { this.nextElementSibling.innerHTML = 'あと<strong>' + left + '</strong>文字'; this.dataset.submit_disabled = this.value.length === 0; } else { this.nextElementSibling.innerHTML = '<strong>' + -left + '</strong>文字超過しています'; this.dataset.submit_disabled = true; } ↓ ※エスケープ処理 function escapeHTML(値) { _ var a = document.createElement('span'); _ a.textContent = 値; _ return a.innerHTML; } 要素.innerHTML = '<strong>' + escapeHTML(文字列) + '</strong>'; ※最新コード https://wandbox.org/permlink/ozofFRK7rkjCXV76

  • WordPressの質問(q10124692)の続

    https://wandbox.org/permlink/xgiSHSJPTNlBrtmO $mime_type から $ext を決めて、テンポラリファイルを $data に読み込めばPDFと動画にも適応できるようです。間違えていたらアドバイスお願い致します。 以前dell_okさんにバイナリーデータがどうしても必要だとお伝えしていたのですが、finfo_open(finfoクラス)はmime_typeを返すのに、拡張子では判断せずバイナリを読み込んでチェックするのでバイナリーのチェックは要らないようですね、申し訳ありません。 名前とメッセージはエラーチェックやtokenがあるためdell_okさんから教えて頂いたコードを使うように考えています。 アップロードファイルについてはおそらくこちらのコードを使うか参考に組み替える必要があると考えております。 //mime_typeを返すのに、拡張子では判断せずバイナリを読み込んでチェック //ファイルの種類を表示するために宣言 $finfo = new finfo(FILEINFO_MIME_TYPE); $mime_type = $finfo->file($path); if (FILE_EXT_PNG == $ext && 'image/png' == $mime_type) { } elseif (in_array($ext, [FILE_EXT_JPEG, '.jpg']) && 'image/jpeg' == $mime_type) { $ext = FILE_EXT_JPEG; } else { // バイナリー文字列確認 $contents = file_get_contents($path); if (FILE_EXT_PDF == $ext && 'application/pdf' == $mime_type) { } elseif (FILE_EXT_MP4 == $ext && 'video/mp4' == $mime_type) { } else { $ext = null; } } return $ext; if (isset($ext)) { $_SESSION['attach_name'][$key] = md5($data) . $ext; $_SESSION['attach_data'][$key] = $data; $_SESSION['attach_mime'][$key] = $mime_type; } else $err[] = '画像形式は png, jpg のみです。'; } } }

    • ベストアンサー
    • PHP
  • ブラウザからFTPアップロードするとローカルが表示される

    FTPソフト(ffftpなど)を使用せずに、ブラウザから直接ファイルをアップロードを試してみたいのです。 手順通りに実行すると、ftpでサーバを開くところまでは順調にいくのですが、 そこへ、ファイルを「ドラッグ&ドロップ」すると、 ファイルがアップロードされず、 ローカルフォルダにあるファイル(アップロードしようとしたファイル)がブラウザで表示されます。 これはどうしてでしょうか? IE最新版でも、FIREFOXでも同じ状況になります。 どのサイトの説明を見ても、ブラウザの画面にファイルを「ドラッグ&ドロップ」すればOKということになっているのですが・・・ 原因がわかる方、どうか教えてください。

質問する