Вот мой HTML-код
<HTML>
<HEAD>
<TITLE>Upload a File</TITLE>
</HEAD>
<BODY>
<H1>Upload a File</H1>
<FORM METHOD="POST" ACTION="PHP3.php">
<strong>File to Upload:</strong><br>
<INPUT TYPE="file" NAME="txt1" SIZE="50">
<P><INPUT TYPE="submit" NAME="submit" VALUE="Upload File"></P>
</FORM>
</BODY>
</HTML>
А вот и мой PHP-код
if ($_FILES['txt1'] != '')
{
mkdir("C:/xampp/CIS64/"); //Creates the CIS64 directory
$filename = "C:/xampp/CIS64/"; //Location of where the file will be
copy($_FILES['txt1']['tmp_name'], $filename.$_FILES['txt1']['name']) or die("Couldn't copy the file."); //Copies the uploaded file to the CIS64 directory
}
else
{
die("No input file specified"); //If the file doesn't open, close the program.
}
По какой-то причине я получаю сообщение об ошибке: «Неопределенный индекс: txt1 в C: \ xampp \ htdocs \ PHP3.php в строке 11» Это работало раньше и вдруг перестало работать. Что не так с моим кодом?
Проверить с
if (!empty($_FILES['txt1']))
потому что в то время, когда форма не размещена, ничего не будет $_POST['txt1']
а также <FORM METHOD="POST" ACTION="PHP3.php">
должно быть <FORM METHOD="POST" ACTION="PHP3.php" enctype="multipart-formdata">
для загрузки файла.
<form action=PHP3.php method=post enctype=multipart/form-data>
var_dump($_POST);
а также var_dump($_FILES);
и проверить, что внутри — помогает отлаживать!$location = $_SERVER['DOCUMENT_ROOT'] . '/myuploaddir/' . $filename;