1

私は非常に単純なフォームを持っていますが、状況は異なります。コンピューターから参照したくありません。ファイルはサーバーにあるので、フォーム フィールドでサーバー ファイルを参照するにはどうすればよいですか。参照できない場合は、任意の場所を指定して、サーバーに再度アップロードできますが、別の場所にあり、すべてのパラメーターが異なるため、移動メソッドを使用したくありません。

リモートURLメソッドのようにリモートURLアップロードメソッドを使用したくないファイルタイプを確認できず、curlを使用して確認できる場合、フォーム処理スクリプトは有効なファイル形式ではないため、そのリンクを受け入れません.ソートするアイデアこの問題は大きな助けになるでしょう

フォームを使用してこれらのファイルを送信する必要があるユーザーにはしたくない

 <form action="fup.php" enctype="multipart/form-data" method="POST">
  File to upload: <input type="file" name="upfile"><br>
  Notes about the file: <input type="text" name="note"><br>
  <br>
  <input type="submit" value="Press"> to upload the file!
   </form>
4

3 に答える 3

0

を使用してサーバーイメージを参照できますclassic file manager

私も同じ目的で使用しました

http://github.com/simogeo/Filemanager/archives/master

于 2012-09-21T10:24:54.317 に答える
0

これについてはまだよくわかりません。サーバー上でファイルを直接変更するだけでなく、HTMLでこれを行う理由がまったくわかりません。

また、各ファイルでどのような詳細を変更しているのかわかりません:

  • どのような詳細を変更していますか?
  • これらの詳細はどこに保存されますか?
  • ファイルがフォーム送信によってアップロードされた場合、これらの詳細をどのように変更しますか?

出発点として、私の最初の提案の例を挙げてみましょう。それから、それがうまくいかない理由を正確に教えてください。

fup.php:

<?php
    if ($_POST["submit"] === "Press")
    {
        $file = {$_POST["upfile"]};
        $notes = $_POST["note"];

        $path = "/path/to/folder";

        // EDIT: Checking to make sure extension is mp3
        if (strtolower(pathinfo("{$path}/{$file}", PATHINFO_EXTENSION)) !== "mp3")
            sys_back("Unavailable mp3 format");

        `cp {$path}/{$file} /path/to/new/folder/{$file}`;
        // do something with $notes
    }
?>
<form action="fup.php" method="POST">
    File to upload:
    <select name="upfile">
<?php   $files = scandir("/path/to/folder");
        foreach ($files as $file)
            echo "\t\t<option>{$file}</option>\n";
?>  </select><br />
    Notes about the file: <input type="text" name="note"/><br />
    <br />
    <input type="submit" name="submit" value="Press" /> to upload the file!
</form>

10,000 個のファイルを 1 つずつ調べるとおっしゃっていたので、ドロップダウンでデフォルトで次のファイルが自動的に選択されるようにすると便利でしょう。時間。foreachこれを行うには、ループを次のように変更します。

$selectNext = false;
foreach ($files as $file)
{
    echo "\t\t<option". ($selectNext ? " selected" : "") .">{$file}</option>\n";
    $selectNext = ($file === $_POST["upfile"]);
}
于 2012-09-20T16:36:52.487 に答える
0

できません。

ユーザーが実際にサーバーから同じマシンへの別のパスにファイルをコピー/移動できるようにするには、次のことを行う必要があります。

  1. リモートディレクトリからファイルを選択できるようにするブラウザダイアログでユーザーにプロンプ​​トを表示します。
  2. そのようなパスをサーバーに送信し、そこでデータを検証します [たとえば、ファイルシステムを台無しにしないために、特定のディレクトリからのアーカイブのみを受け入れます];
  3. パスを選択したら、MIME タイプなどを確認し、アーカイブをコピー/移動して、クライアントに操作結果を返信します。

スクリプトが「リンクを受け入れられない」場合は、スクリプトを変更してください。

于 2012-09-20T16:09:40.153 に答える