Php 上传音频时未定义索引-WAMP

Php 上传音频时未定义索引-WAMP,php,upload,wamp,Php,Upload,Wamp,我一直试图将文件上载到服务器,但遇到未定义的索引错误,如下所示: Notice: Undefined index: uploadFile in D:\test\getfile.php on line 7 Notice: Undefined index: uploadFile in D:\test\getfile.php on line 8 这是我的index.php: <html> <head> <title>File Upload Form<

我一直试图将文件上载到服务器,但遇到未定义的索引错误,如下所示:

Notice: Undefined index: uploadFile in D:\test\getfile.php on line 7
Notice: Undefined index: uploadFile in D:\test\getfile.php on line 8
这是我的index.php:

<html>
<head>
    <title>File Upload Form</title>
</head>
<body>
    This form allows you to upload a file to the server.<br>
    <form action="getfile.php" method="post"><br>
        Type (or select) Filename: <input type="file" name="uploadFile">
        <input type="submit" value="Upload File">
    </form>
</body>

文件上传表格
此表单允许您将文件上载到服务器。

键入(或选择)文件名:

这是getfile.php:

<html>
<head>
    <title>Process Uploaded File</title>
</head>
<body>
    <?php
        move_uploaded_file ($_FILES['uploadFile'] ['tmp_name'], 
               "../uploads/{$_FILES['uploadFile'] ['name']}")
    ?>
</body>

处理上载的文件

您需要在表单标记中添加
enctype='multipart/form data'

  <form action="getfile.php" method="post" enctype='multipart/form-data'>
在getfile.php中:

<form action="getfile.php" method="post" enctype='multipart/form-data'><br>
    Type (or select) Filename: <input type="file" name="uploadFile">
    <input type="submit"  name="submit" value="Upload File">
</form>
<?php   
if(isset($_POST['submit'])){
       print_r($_FILES['uploadFile']);
        move_uploaded_file ($_FILES['uploadFile']['tmp_name'],    "../uploads/{$_FILES['uploadFile']['name']}");
  }
 ?>
您可以设置类型(或选择)文件名:

name=uploadFile

并尝试上载
$\u文件['uploadFile']['name']

['name']更改为['uploadFile']


并将enctype='multipart/form data

添加到表单声明中

始终使用例如
if(isset($\u FILES['uploadFile']){}
检查密钥是否确实存在。还应该补充一点,我希望您已经在
/uploads/
中禁用了执行功能,或者任何人都可以简单地上传一个PHP外壳,然后黑客攻击您的整个服务器-获取代码-获取数据库凭据-安装病毒-获取用户密码等。@h2ooooo这只是测试。我想弄明白为什么它不工作。好的,点1 rtfm。复制代码可以让你开始,但你最终会和上一个懒惰的人一样垃圾。您的代码中还有很多内容需要正确上传文件。@riggsfully是的,我知道复制非常懒惰。然而,我必须确保代码也能正常工作。这就是我复制它的原因。所以我应该把$_文件['uploadFile']['name']也改成$_文件['uploadFile']['uploadFile']看看你定义的html表单字段
name=uploadFile
,在你的php代码中你尝试调用
name
。将
$\u文件['uploadFile']['name']
更改为
$\u文件['uploadFile']['uploadFile']
这个答案是错误的:
$\u文件['uploadFile']['name']
是访问文件名的正确方法。我已经尝试了这个方法,但没有更多错误。但是我现在找不到uploads文件夹。@Krish R.。/uploads/“这应该在D:\uploads\中,但是我在那里没有看到任何东西。所以我自己添加了这个文件夹。上载后,其中没有文件。请确保上载文件夹路径正确,并确保它具有上载所需的权限
上载
文件夹将位于
DocumentRoot的子文件夹中
,因此在那里创建文件夹,即
\wamp\www\project1\uploads
\wamp\www\uploads
(如果已用完)www文件夹的。我认为
move\u upload\u files()
不会为您创建它。您需要创建dir
mkdir('path')