-5

我的 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

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

4

3 回答 3

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>
于 2012-05-08T15:57:01.123 回答
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/

于 2012-05-08T16:02:53.813 回答
0

ini_set 函数是

ini_set("max_filesize","150M");
于 2012-05-10T15:26:24.967 回答