这段代码中的错误是什么,服务器会上传照片但不上传文本文件?

时间:2015-04-24 10:54:56

标签: javascript php html

这是我在php中的表单操作文件。

我成功上传了图片,但文字文件却产生了无效的文件错误'。

可能是错误以及如何解决?

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
if (isset($_POST['submit'])) {
    $j = 0;
    $target_path = "wep/";
    for ($i = 0; $i < count($_FILES['file']['name']); $i++) {
        $validextensions = array("jpeg", "jpg", "png");
        $ext = explode('.', basename($_FILES['file']['name'][$i]));
        $file_extension = end($ext);
        $target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext) - 1];
        $j = $j + 1;
        if (($_FILES["file"]["size"][$i] < 100000) && in_array($file_extension, $validextensions)) {
            if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $target_path)) {
                echo $j . ').<span id="noerror">Image uploaded successfully!.</span><br/><br/>';
            } else {
                echo $j . ').<span id="error">please try again!.</span><br/><br/>';
            }
        } else {
            echo $j . ').<span id="error">Invalid file Size or Type</span><br/><br/>';
        }
    }
}
?>

2 个答案:

答案 0 :(得分:0)

在您的代码中,您有以下一行:

$validextensions = array("jpeg", "jpg", "png");      // Extensions which are allowed.

由于文本文件未包含在这些有效扩展名中,因此您的代码会告诉您错误,&#34;无效的文件大小或类型&#34;。将文本文件扩展名添加到有效的扩展数组中,它们应该无错误地上传。

答案 1 :(得分:0)

通过将允许的扩展名添加到priv,只有您可以上传文本文件。我在你提到的代码上添加了一些扩展,你可以在这个

上进一步添加扩展
.txt