文件上传PHP脚本无法正常工作

时间:2014-03-06 04:29:10

标签: php mysql

我在使用文件上传脚本时遇到问题。奇怪的是,它适用于我设置的图像字段,但不适用于.mp3或类似文件的表单字段,我使用相同的脚本。这是我的代码:

$download = $_FILES['download']['name'];
$downloadtarget = "events/" . $name . "/";

if(move_uploaded_file($download, $downloadtarget)) {
echo 'do stuff';
}else{
echo 'don't do stuff';

我似乎总是通过文件上传获得后者“不做事”。 除了交换之外的相同脚本:

$download = $_FILES['download']['name']; 

$download = $_FILES['picture']['name'];

在脚本的早期工作正常,文件上传没有问题。

4 个答案:

答案 0 :(得分:0)

你遗失$_FILES['download']['tmp_name'];  尝试

 move_uploaded_file($_FILES["download"]["tmp_name"],
          "events/" . $_FILES["download"]["name"]);

也表格有enctype="multipart/form-data"属性

有关文件上传的详细信息,请点击链接: - http://www.w3schools.com/php/php_file_upload.asp

答案 1 :(得分:0)

<?php
    $download = $_FILES['download']['name'];
    $downloadtarget = "events/" . $download . "";
    $temp_name = $_FILES['download']['tmp_name'];

    if(move_uploaded_file($temp_name, $downloadtarget)) {
        echo 'do stuff';
    } else {
        echo 'don\'t do stuff';
    }
?>

答案 2 :(得分:0)

尝试这样的代码

 if ($_FILES["file"]["error"] == 4)
            {
                $file_attachement_message="No Files attached";
            }
            else if ($_FILES["file"]["error"] > 0){

                $attachement_

error=$_FILES["file"]["error"];
            $file_attachement_message="File attachement failed with error code:$attachement_error";
        }
        else
        {

            if(!is_dir('../attachements'))
            {
                mkdir('../attachements');
            }
            if (file_exists("../attachements/".$id))
            {
                // echo $_FILES["file"]["name"] . " already exists";
                $file_attachement_message="Attached file already exists in db";
            }
            else
            {
                $info=pathinfo($_FILES['file']['name']);
                $ext = $info['extension']; // get the extension of the file
                $newname="$risk_id.".$ext;
               ["tmp_name"],"../attachements/".$_FILES["file"]["name"]);
                move_uploaded_file($_FILES["file"]["tmp_name"],"../attachements/".$newname);

                $file_attachement_message="and File Attached successfully";
            }
        }

答案 3 :(得分:0)

问题似乎是文件大小。用图片和mp3测试,没有问题。进一步阅读显示php.ini默认为2mb限制。