投稿しているコードのロジックが正しくありません。
最初にファイルをアップロードする場合、次の 2 つのロジックがありました。
1-フォームの表示とアップロードの処理に同じphpファイルを使用します。
ファイル フィールドを含むフォーム レイアウトをブロックに配置し、アップロード プロセスを別のブロックに配置します。
つまり、コードを 2 つの部分に分割する必要があります。
ファイル [upload.php] のコードは次のようになります。
<?php
include('menu/menu.html');
if (!isset($_POST['submit']))
{
?>
<div id="search">
<form action="upload.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td><input type="file" name="filename"/></td>
<td align="right"><input type="submit" name="submit" value="Descargar"></td>
</tr>
</table>
</form>
</div>
<?php
}
else
{
?>
<div id="result">
<div id="nresult">
<?php
if ($_FILES['filename']['type'] != "application/pdf")
{echo "Error " . $_FILES['filename'] . ": el archivo no es pdf.<br>";}
else
{\\Procces your upload}
}
2-2番目のロジックは、フォームレイアウトをファイルに入れ、アップロードプロセスを別のファイルに入れ、最初のページのフォームを次のように2番目のページに向けることです:
[uploadlayout.php]という名前のファイルに入れます
<div id="search">
<form name="form1" method="post" action="uploadcode.php" enctype="multipart/form-data">
<table>
<tr>
<td><input type="file" name="filename"/></td>
<td align="right"><input type="submit" name="submit" value="Descargar"></td>
</tr>
</table>
</form>
</div>
そして、[uploadecode.php] という名前のファイルで
<?php
if ($_FILES['filename']['type'] != "application/pdf")
{echo "Error " . $_FILES['filename'] . ": el archivo no es pdf.";}
else
{//Proccess your upload}
?>
「uploadlayout.php」ページにアクセスしてファイルを参照し、「Descragar」ボタンを押すと、選択したファイルが「uploadcode.php」ページに投稿され、ファイル タイプのテストが行われます。実行され、成功した場合はアップロード プロセスが実行され、失敗した場合は「el archivo no es pdf」というエラーが表示されます。
私はそれを明確に説明したことを願っています。別の質問がある場合、または明確化が必要な場合は、私に知らせてください:)