0

こんにちは、助けが必要です。コピーペーストからノードにphpコードとして実行しているphpスクリプトを作成しました。「\birds\birds.xml」を使用しているように、ファイルを処理するためのファイル パスが必要です。代わりにファイルパスを含めたくありません.参照ボタンを使用して単純な小さなフォームを作成し、送信ボタンで送信するよりもファイルを選択する方法. ファイルパスを変数に保存します。

4

1 に答える 1

1

私が理解している限り、参照ボタンはクライアント側 (Web ブラウザー) 用です。


クライアント側の参照ボタン

これには 2 つの部分があります。

  1. HTMLアップロードフォーム
  2. PHP処理スクリプト

HTML [フォーム]

<form enctype="multipart/form-data" action="submit-script.php" method="POST">
    Choose a file to upload: <input name="uploadedfile" type="file" />
    <input type="submit" value="Upload File" />
</form>

PHP [submit-script.php]

$fileName = $_FILES['uploadedfile']['name'];
$target_path = "uploads/";
$target_path = $target_path . basename($fileName); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). " uploaded";
} else{
    echo "Unable to upload!";
}

サーバー側の参照ボタン

ただし、参照ボタンをクリックしてサーバーを参照する場合は、ajax を使用して参照ボタンを自分で実装するか、プロセスを複数ステップにする必要があります。

アヤックスウェイ

  1. ボタンクリックイベントで、ディレクトリブラウジングでモーダルウィンドウを開きます
  2. ネット上には、オープン ソースのディレクトリ ブラウジング スクリプトが多数あります。ここにいくつかあります:シンプルなサーバーファイルブラウザfileNice - より洗練されたソリューション...
  3. モーダル ウィンドウで [OK] をクリックしたら、ウィンドウを閉じる前に、選択したファイルの親に非表示の入力を設定します (javascript を使用)。例 window.parent.selectedFile.value ="選択したファイル"
  4. メインフォームに保存したら。POST から「selectedFile」をキャプチャし、必要なことを行います。

非 Ajax 方式

これには複数のフォームが必要です (異なるページにあります)。最初のフォームにはファイル ブラウザーがあり (Ajax-Way の手順 2 を参照)、選択したファイルを隠しフィールドに保存します。2 番目のフォームに渡されたら、値を別の非表示フィールドに設定します... 追加情報を要求します (必要な場合は、2 番目のフォームをスキップできます)。送信したら、必要なことを行います...

于 2010-08-31T15:06:42.187 に答える