Требовать загрузки файла в формате HTML / PHP - PullRequest
0 голосов
/ 14 июля 2010

Я пытаюсь запросить загрузку файла в форме, но не могу заставить его работать.Есть идеи?Я предпочел бы повторить ошибку php на странице против всплывающего окна javascript.Спасибо за внимание:

<?php 


// initialize $file1
$file1 = $_POST['file1'];


 // check upload of $file1
 if ($file1 == '' )  { 
$error = "Please upload an image";
 } 


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Require upload of an file</title>
</head>

<body>

<?php if ($error) {echo $error;} ?>

<br /><br /><br />

<form id="form1" name="form1" method="post" action="nextpage.php">

<input type="file" size="8" name="file1" />

<input name="Submit" type="Submit" />

</form>



</body>
</html>

1 Ответ

2 голосов
/ 14 июля 2010

См. этот учебник , в нем есть все, что вам нужно.

Подводя итог:

  • Используйте enctype="multipart/form-data" и method="POST" в <form> tag.
  • В PHP используйте $_FILES['uploadedfile']['name'] для чтения оригинального имени («uploadedfile» - это имя вашего файла ввода - «file1» в вашем примере).
  • В PHP используется $_FILES['uploadedfile']['tmp_name'] чтобы прочитать имя временного файла на стороне сервера.
  • В PHP используйте $_FILES['uploadedfile']['error'], чтобы получить ошибку (если есть) см. там для возможных кодов.
  • Также см. Руководство по PHP для получения дополнительной информации.

В вашем примере используйте эту форму вместо:

<form id="form1" name="form1" method="post" action="nextpage.php" enctype="multipart/form-data">
    <input type="file" size="8" name="file1" />
    <input name="Submit" type="Submit" />
</form>

В "nextpage.php":

//Use $_FILES['file1'] to check the file upload...
print_r($_FILES['file1']);
...