【发布时间】:2014-01-12 14:56:37
【问题描述】:
我正在使用以下 PHP 代码在某些条件下将文件从客户端上传到服务器。
- 一次一个文件,文件大小小于 35mb。
- 文件只支持“jpeg”、“jpg”、“png”、“wav”、“mp3”格式。
- 每个文件必须上传到一个只有 10 位数名称的文件夹中,由客户端在文件上传时提供(如果该文件夹名称已经存在,文件将自动上传到当前文件夹中,而不创建任何新文件夹)
<?php
error_reporting(0);
if(isset($_FILES['image'])){
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size =$_FILES['image']['size'];
$file_tmp =$_FILES['image']['tmp_name'];
$file_type=$_FILES['image']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
$expensions= array("jpeg","jpg","png","wav","mp3");
if(in_array($file_ext,$expensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}
if($file_size > 34097152){
$errors[]='File size must be exactly 34 MB';
}
if(empty($errors)==true){
$pinCode = $_POST['pinc'].".".$file_ext;
if(move_uploaded_file($file_tmp,$_POST['pinc']."/".$file_name))
{
/* if(rename("mobile/".$file_name,"mobile/".$mobile number))*/
echo "Success";
}
else
{
if (mkdir($_POST['pinc'])) {
move_uploaded_file($file_tmp,$_POST['pinc']."/".$file_name);
} else
{
die('Failed to create folders...');
}
}
}else{
print_r($errors);
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<table width="100%" border="0" align="center">
<tr>
<td width="30%" align="right"><strong>mobilenumber </strong></td>
<td width="22%"><input type="text" name="pinc" value="" /></td>
<td width="48%"> </td>
</tr>
<tr>
<td> </td>
<td><input type="file" name="image" />
</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="submit"/></td>
<td> </td>
</tr>
</table>
</form>
我尝试在 Java + Http 中实现。我不太擅长 Java,但我仍然完成了一些部分(你可以在 jsfiddle.net/sNxh8 中看到它)但是在我有的地方遇到了陷阱在检查 3 个条件后提交表格。一点指南将不胜感激。提前致谢
结果会是这样(http://www.sitename.com/mobile/client's_10_digits_folder_name/file.mp3)。
【问题讨论】:
标签: java file-upload upload