通过PHP上传多个图像
下面是新代码。我使用了这个oop-PHP,它是有效的,我在这里添加了这个,因为我删除了我以前版本的问题,这个问题很糟糕。如果有人需要,这种代码是可用的通过PHP上传多个图像,php,image,upload,Php,Image,Upload,下面是新代码。我使用了这个oop-PHP,它是有效的,我在这里添加了这个,因为我删除了我以前版本的问题,这个问题很糟糕。如果有人需要,这种代码是可用的 public function set_file($file) { if(empty($file) || !$file || !is_array($file)) { $this->errors[] = "There was no file uploaded here";
public function set_file($file) {
if(empty($file) || !$file || !is_array($file)) {
$this->errors[] = "There was no file uploaded here";
return false;
}elseif($file['error'] !=0) {
$this->errors[] = $this->upload_errors_array[$file['error']];
return false;
} else {
$this->user_image = basename($file['name']);
$this->tmp_path = $file['tmp_name'];
$this->type = $file['type'];
$this->size = $file['size'];
}
}
public function move_image(){
$target_path = SITE_ROOT.DS. 'admin' . DS . $this->upload_directory . DS . $this->user_image;
return move_uploaded_file($this->tmp_path, $target_path);
}
尝试将文件的输入名称属性指定为数组:
<input type="file" id="gallery_album_image" multiple name="uploaded_file[]" >
尝试将文件的输入名称属性指定为数组:
<input type="file" id="gallery_album_image" multiple name="uploaded_file[]" >
您也可以使用这个foreach循环,也可以使用任何需要的人
// Configure upload directory and allowed file types
$upload_dir = 'images_uploads'.DIRECTORY_SEPARATOR;
$allowed_types = array('jpg', 'png', 'jpeg', 'gif');
// Define maxsize for files i.e 2MB
$maxsize = 4 * 1024 * 1024;
// Checks if user sent an empty form
if(!empty(array_filter($_FILES['files']['name']))) {
// Loop through each file in files[] array
foreach ($_FILES['files']['tmp_name'] as $key => $value) {
$file_tmpname = $_FILES['files']['tmp_name'][$key];
$file_name = $_FILES['files']['name'][$key];
$file_size = $_FILES['files']['size'][$key];
$file_ext = pathinfo($file_name, PATHINFO_EXTENSION);
$file_name = time().rand(). $file_name.".".$file_ext;
// Set upload file path
$filepath = $upload_dir.$file_name;
$sql = "INSERT INTO gallery_gallery(gallery_album_id, gallery_images) VALUES(:gallery_album_id,:file_name) ";
$values = [
':gallery_album_id' => $gallery_album_id,
':file_name' => $file_name
];
$query =$connection->prepare($sql);
$query->execute($values);
// Check file type is allowed or not
if(in_array(strtolower($file_ext), $allowed_types)) {
// Verify file size - 2MB max
if ($file_size > $maxsize)
echo "Error: File size is larger than the allowed limit.";
// If file with name already exist then append time in
// front of name of the file to avoid overwriting of file
if(file_exists($filepath)) {
$filepath = $upload_dir.time().$file_name;
if( move_uploaded_file($file_tmpname, $filepath)) {
echo "{$file_name} successfully uploaded <br />";
}
else {
echo "Error uploading {$file_name} <br />";
}
}
else {
if( move_uploaded_file($file_tmpname, $filepath)) {
echo "{$file_name} successfully uploaded <br />";
}
else {
echo "Error uploading {$file_name} <br />";
}
}
}
else {
// If file extention not valid
echo "Error uploading {$file_name} ";
echo "({$file_ext} file type is not allowed)<br / >";
}
}
//配置上载目录和允许的文件类型
$upload\u dir='images\u uploads'。目录\u分隔符;
$allowed_types=数组('jpg','png','jpeg','gif');
//定义文件的最大大小,即2MB
$maxsize=4*1024*1024;
//检查用户是否发送了空表单
如果(!empty(数组_筛选器($_FILES['FILES']['name'])){
//循环遍历files[]数组中的每个文件
foreach($\u FILES['FILES']['tmp\u name']作为$key=>$value){
$file\u tmpname=$\u FILES['FILES']['tmp\u name'][$key];
$file\u name=$\u FILES['FILES']['name'][$key];
$file\u size=$\u FILES['FILES']['size'][$key];
$file\u ext=pathinfo($file\u name,pathinfo\u扩展名);
$file\u name=time().rand().$file\u name.“.”$file\u ext;
//设置上载文件路径
$filepath=$upload\u dir.$file\u name;
$sql=“插入到gallery_gallery(gallery_album_id,gallery_图像)值(:gallery_album_id,:file_name)”;
$values=[
“:gallery_album_id”=>$gallery_album_id,
':file_name'=>$file_name
];
$query=$connection->prepare($sql);
$query->execute($value);
//检查文件类型是否允许
if(在数组(strtolower($file\u ext),$allowed\u types)中){
//验证文件大小-最大2MB
如果($file\u size>$maxsize)
echo“错误:文件大小大于允许的限制。”;
//如果名称为的文件已存在,则在中追加时间
//文件名的前面,以避免覆盖文件
如果(文件_存在($filepath)){
$filepath=$upload\u dir.time().$file\u name;
如果(移动上传的文件($file\u tmpname,$filepath)){
echo“{$file_name}已成功上载
”;
}
否则{
echo“上传{$file_name}
时出错”;
}
}
否则{
如果(移动上传的文件($file\u tmpname,$filepath)){
echo“{$file_name}已成功上载
”;
}
否则{
echo“上传{$file_name}
时出错”;
}
}
}
否则{
//如果文件扩展名无效
echo“上传{$file_name}时出错”;
echo“({$file_ext}文件类型不允许)
”;
}
}
您也可以使用这个foreach循环,也可以使用任何需要的人
// Configure upload directory and allowed file types
$upload_dir = 'images_uploads'.DIRECTORY_SEPARATOR;
$allowed_types = array('jpg', 'png', 'jpeg', 'gif');
// Define maxsize for files i.e 2MB
$maxsize = 4 * 1024 * 1024;
// Checks if user sent an empty form
if(!empty(array_filter($_FILES['files']['name']))) {
// Loop through each file in files[] array
foreach ($_FILES['files']['tmp_name'] as $key => $value) {
$file_tmpname = $_FILES['files']['tmp_name'][$key];
$file_name = $_FILES['files']['name'][$key];
$file_size = $_FILES['files']['size'][$key];
$file_ext = pathinfo($file_name, PATHINFO_EXTENSION);
$file_name = time().rand(). $file_name.".".$file_ext;
// Set upload file path
$filepath = $upload_dir.$file_name;
$sql = "INSERT INTO gallery_gallery(gallery_album_id, gallery_images) VALUES(:gallery_album_id,:file_name) ";
$values = [
':gallery_album_id' => $gallery_album_id,
':file_name' => $file_name
];
$query =$connection->prepare($sql);
$query->execute($values);
// Check file type is allowed or not
if(in_array(strtolower($file_ext), $allowed_types)) {
// Verify file size - 2MB max
if ($file_size > $maxsize)
echo "Error: File size is larger than the allowed limit.";
// If file with name already exist then append time in
// front of name of the file to avoid overwriting of file
if(file_exists($filepath)) {
$filepath = $upload_dir.time().$file_name;
if( move_uploaded_file($file_tmpname, $filepath)) {
echo "{$file_name} successfully uploaded <br />";
}
else {
echo "Error uploading {$file_name} <br />";
}
}
else {
if( move_uploaded_file($file_tmpname, $filepath)) {
echo "{$file_name} successfully uploaded <br />";
}
else {
echo "Error uploading {$file_name} <br />";
}
}
}
else {
// If file extention not valid
echo "Error uploading {$file_name} ";
echo "({$file_ext} file type is not allowed)<br / >";
}
}
//配置上载目录和允许的文件类型
$upload\u dir='images\u uploads'。目录\u分隔符;
$allowed_types=数组('jpg','png','jpeg','gif');
//定义文件的最大大小,即2MB
$maxsize=4*1024*1024;
//检查用户是否发送了空表单
如果(!empty(数组_筛选器($_FILES['FILES']['name'])){
//循环遍历files[]数组中的每个文件
foreach($\u FILES['FILES']['tmp\u name']作为$key=>$value){
$file\u tmpname=$\u FILES['FILES']['tmp\u name'][$key];
$file\u name=$\u FILES['FILES']['name'][$key];
$file\u size=$\u FILES['FILES']['size'][$key];
$file\u ext=pathinfo($file\u name,pathinfo\u扩展名);
$file\u name=time().rand().$file\u name.“.”$file\u ext;
//设置上载文件路径
$filepath=$upload\u dir.$file\u name;
$sql=“插入到gallery_gallery(gallery_album_id,gallery_图像)值(:gallery_album_id,:file_name)”;
$values=[
“:gallery_album_id”=>$gallery_album_id,
':file_name'=>$file_name
];
$query=$connection->prepare($sql);
$query->execute($value);
//检查文件类型是否允许
if(在数组(strtolower($file\u ext),$allowed\u types)中){
//验证文件大小-最大2MB
如果($file\u size>$maxsize)
echo“错误:文件大小大于允许的限制。”;
//如果名称为的文件已存在,则在中追加时间
//文件名的前面,以避免覆盖文件
如果(文件_存在($filepath)){
$filepath=$upload\u dir.time().$file\u name;
如果(移动上传的文件($file\u tmpname,$filepath)){
echo“{$file_name}已成功上载
”;
}
否则{
echo“上传{$file_name}
时出错”;
}
}
否则{
如果(移动上传的文件($file\u tmpname,$filepath)){
echo“{$file_name}已成功上载
”;
}
否则{
echo“上传{$file_name}
时出错”;
}
}
}
否则{
//如果文件扩展名无效
echo“上传{$file_name}时出错”;
echo“({$file_ext}文件类型不允许)
”;
}
}
谢谢,我修复了也使用了foreach并稍微更改了代码,但我做到了。谢谢,我修复了也使用了foreach并稍微更改了代码,但我做到了。