【问题标题】:Uploading audio files in php not saved in designated folder?在php中上传音频文件未保存在指定文件夹中?
【发布时间】:2013-03-21 00:41:08
【问题描述】:

这是我的form.php

      <form name="form" action="upload.php" method="post" enctype="multipart/form-data">
                <?php $id=$_REQUEST['id1']; ?>
        <label>Category: </label><?php echo
        '<input type="text" name="category" onfocus="blur()" value='.$id.'>'?></br>
            <label>Name:</label>
            <input type="text" name="name" size="32"></br></br>
            <label>Type:</label>
            <select name="type">
                <option value="Audio">Audio</option>
                <option value="Video">Video</option>
                <option value="Read">Read</option>
                <option value="Quiz">Quiz</option>
            </select>
            <label>Description:</label></br>
            <textarea rows="10" cols="30" name="description"></textarea></br>                  </br>
            <label>File:</label>
            <input type="file" name="files"/></br>
            <input type="submit" value="upload" name="up">
        </form>

还有我的upload.php

        include("connect.php");


        if(isset($_REQUEST['up']))
        {
        $nagan=$_FILES['files']['name'];    
        $tmp_loc=$_FILES['files']['tmp_name'];

         echo $nagan;
         echo $tmp_loc;
            $bookCover="modules/".$nagan;

            move_uploaded_file($tmp_loc,$bookCover);

            $sql="INSERT INTO modules (name, type, description, filename, category)VALUES('$_POST[name]','$_POST[type]','$_POST[description]','$bookCover','$_POST[category]')";

           mysql_query($sql);

    $count=mysql_affected_rows();

    if($count==1)
    {

      echo "File $nagan Successfully Uploaded!";

    }else
      echo "Error!";


      }

    ?>

上传图像和 pdf 文件可以正常工作,但是当我尝试上传音频文件时,它不会显示在指定文件夹(模块文件夹)中,但会在数据库中保存一个值。此外,当我尝试上传视频文件时,upload.php 根本不起作用。请帮我。我现在正试图弄清楚这两天。帮助。

【问题讨论】:

  • 您的音频/视频文件是否低于上传大小限制?
  • 你的php.ini中upload_max_size和post_max_size的值是多少?您尝试上传的音频文件的大小是多少? ini_get('upload_max_filesize');ini_get('post_max_size'); 这两个以字节为单位显示结果。
  • @Maerlyn 和 kovge 我的音频文件是 7.72MB,我不知道 upload_max_size 和 post_max_size 的最大值..我现在就检查一下
  • ;上传文件的最大允许大小。 ; php.net/upload-max-filesizeupload_max_filesize = 2M @Kogve 这是我需要更改的吗?
  • 是的,更改为例外的最大文件大小。您应该更改帖子的最大大小,并在文件输入表单附近显示最大值,以向用户展示他们可以上传的内容。

标签: php mysql file-upload uploading


【解决方案1】:

您的php.iniupload_max_filesizepost_max_size 的值是多少?您尝试上传的音频文件的大小是多少?

  print ini_get('upload_max_filesize').' MBytes (Upload max size) <br/>'.
        ini_get('post_max_size').' MBytes (Post Max Size)'; 

这两个以 MBbytes 为单位显示结果。 如果这个太小了,

1) Try: ini_set('upload_max_filesize','the size you need');
        ini_set('post_max_size','the size you need');
2) If the 1) does not works : 
  try to set the value of this properties in your php.ini  
      (on linux use this command to find: locate php.ini, or find / -name php.ini)
      (on windows use the file search tool)
  restart apache /if you use apache/ or the webserver deamon what you use
3) If you could not do 1) or 2)  (because do not have access this property) contact to the server administrator.

在所有这些都尝试上传小(小于 1MB)的音频和视频文件之前。

【讨论】:

    【解决方案2】:

    以下选项是相关的:

    PHP:upload_max_filesize(仅在 php.ini 或 .htaccess 中,无法使用 ini_set())

    PHP:post_max_size

    PHP:最大输入时间

    可能

    Apache:LimitRequestBody

    【讨论】:

      【解决方案3】:

      php.ini 中可能存在最大上传大小的权限问题。

      upload_max_filesize = 10M
      

      ;必须大于或等于upload_max_filesize

      post_max_size = 10M
      

      您也可以更改它,然后重新启动服务器。

      【讨论】:

      • 它现在可以工作了,谢谢.. 但是可以将文件大小更改为 1GB 或更高吗?还是我只需要放置 1024M?
      • 没关系..我只是将其更改为 1024M 并且可以正常工作..再次感谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      相关资源
      最近更新 更多