在php中上传文件时出错

时间:2012-05-08 15:47:34

标签: php html

我的HTML代码

<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name='image' >
<input type="SUBMIT" value="Submit">
</form>

PHP代码(仅提及错误的行)

    <?php
    list($waste,$extension) = explode("/",$_FILES["image"]["type"]);echo $extension;
    ?>

如果文件是图像,它会给出文件扩展名,但是在视频的情况下它会给出错误。

错误

( ! ) Notice: Undefined index: image in D:\wamp\www\upload.php on line 3
Call Stack
#   Time    Memory  Function    Location
1   0.0007  364904  {main}( )   ..\upload.php:0

( ! ) Notice: Undefined offset: 1 in D:\wamp\www\upload.php on line 3
Call Stack
#   Time    Memory  Function    Location
1   0.0007  364904  {main}( )   ..\upload.php:0

请告诉我如何使其适用于视频上传。

3 个答案:

答案 0 :(得分:1)

您需要先检查变量是否可用,然后才能开始使用它,显然您需要了解如何使用$_FILES的基本知识,请参阅http://php.net/manual/en/reserved.variables.files.php

<?php

if (isset ( $_FILES ['image'] )) {
    $extension = pathinfo ( $_FILES ['image'] ['name'], PATHINFO_EXTENSION );
    echo $extension;
}

?>

<form method="post" enctype="multipart/form-data" action="">
    <input type="file" name='image'> <input type="SUBMIT" value="Submit">
</form>

答案 1 :(得分:0)

对于视频文件,文件大小太大(126 MB,由OP报告)。所以PHP脚本永远不会收到文件。

有几个地方你可以调整这个。首先,您可以在HTML表单中设置最大文件大小:

<input type="hidden" name="MAX_FILE_SIZE" value="157286400" /> <!-- 150 MB -->

另外,您可能需要在php.ini文件中调整一些变量:

http://www.cyberciti.biz/faq/linux-unix-apache-increase-php-upload-limit/

答案 2 :(得分:0)

ini_set函数是

ini_set("max_filesize","150M");