上传文件不适用于 mp3 和 mp4
Uploading file is not working with mp3 and mp4
<form action="test.php" method="POST" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
这里是处理图像但不是处理 mp3、mp4,我也更改了 .ini 文件中的 upload_max_size 但这不起作用
$target_dir = "videos/";
echo '<br>';
echo $target_file = $target_dir . $_FILES['fileToUpload']['name'];
$uploadOk = 1;
echo '<br>';
//$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
echo 'started';
echo '<br>';
echo $check = $_FILES['fileToUpload']['tmp_name'];
if($check !== false) {
move_uploaded_file($check,$target_file);
echo 'Uploaded';
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
?>
看起来您还应该设置其他 php.ini 个变量,例如:
- post_max_size = 200M
- upload_max_filesize = 200M
但是你总是可以发送大于此限制的文件(然后超全局 _POST 和 _FILES 为空)所以我认为最好的做法是像这样使用某物
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST) &&
empty($_FILES) && $_SERVER['CONTENT_LENGTH'] > 0 )
{
$displayMaxSize = ini_get('post_max_size');
switch ( substr($displayMaxSize,-1) )
{
case 'G':
$displayMaxSize = $displayMaxSize * 1024;
case 'M':
$displayMaxSize = $displayMaxSize * 1024;
case 'K':
$displayMaxSize = $displayMaxSize * 1024;
}
$error = 'Posted data is too large. '.
$_SERVER[CONTENT_LENGTH].
' bytes exceeds the maximum size of '.
$displayMaxSize.' bytes.";
}
代码 ant explain 可以在这里找到:http://andrewcurioso.com/blog/archive/2010/detecting-file-size-overflow-in-php.html
<form action="test.php" method="POST" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
这里是处理图像但不是处理 mp3、mp4,我也更改了 .ini 文件中的 upload_max_size 但这不起作用
$target_dir = "videos/";
echo '<br>';
echo $target_file = $target_dir . $_FILES['fileToUpload']['name'];
$uploadOk = 1;
echo '<br>';
//$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
echo 'started';
echo '<br>';
echo $check = $_FILES['fileToUpload']['tmp_name'];
if($check !== false) {
move_uploaded_file($check,$target_file);
echo 'Uploaded';
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
?>
看起来您还应该设置其他 php.ini 个变量,例如:
- post_max_size = 200M
- upload_max_filesize = 200M
但是你总是可以发送大于此限制的文件(然后超全局 _POST 和 _FILES 为空)所以我认为最好的做法是像这样使用某物
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST) &&
empty($_FILES) && $_SERVER['CONTENT_LENGTH'] > 0 )
{
$displayMaxSize = ini_get('post_max_size');
switch ( substr($displayMaxSize,-1) )
{
case 'G':
$displayMaxSize = $displayMaxSize * 1024;
case 'M':
$displayMaxSize = $displayMaxSize * 1024;
case 'K':
$displayMaxSize = $displayMaxSize * 1024;
}
$error = 'Posted data is too large. '.
$_SERVER[CONTENT_LENGTH].
' bytes exceeds the maximum size of '.
$displayMaxSize.' bytes.";
}
代码 ant explain 可以在这里找到:http://andrewcurioso.com/blog/archive/2010/detecting-file-size-overflow-in-php.html