在PHP中使用base64编码进行多文件上载

在PHP中使用base64编码进行多文件上载,php,html,mysql,Php,Html,Mysql,我想上传数据库中的图像,并使用base64编码/解码获取它们。但我不知道怎么做 HTML: PHP: if(isset($\u POST['sbtn'])) { $countfiles=count($_FILES['s_o_img']['name']); 对于($i=0;$i请尝试这种方式 在文件获取内容上添加[$i] if(isset($_POST['sbtn'])) { $countfiles = count($_FILES['s_o_img']['name']); fo

我想上传数据库中的图像,并使用base64编码/解码获取它们。但我不知道怎么做

HTML:


PHP:

if(isset($\u POST['sbtn']))
{
$countfiles=count($_FILES['s_o_img']['name']);
对于($i=0;$i请尝试这种方式

文件获取内容上添加
[$i]

if(isset($_POST['sbtn']))
{
    $countfiles = count($_FILES['s_o_img']['name']);
    for($i=0;$i<$countfiles;$i++){ // add .length of $countfiles
        $filename = $_FILES['s_o_img']['name'][$i];
        move_uploaded_file($_FILES['s_o_img']['tmp_name'][$i],$filename);
        $bin = file_get_contents($_FILES["s_o_img"]["name"][$i]);  // add [$i] for valid index image
        $hex_string = base64_encode($bin);
    }
}
if(isset($\u POST['sbtn']))
{
$countfiles=count($_FILES['s_o_img']['name']);
对于($i=0;$i)

试试这个,就行了。

数据库还是将文件存储在服务器上?
。length
是javascript,而不是PHP。@ThierryLeroux同样的海豚。。。
      if(isset($_POST['sbtn']))
     {
     $countfiles = count($_FILES['s_o_img']['name']);
     for($i=0;$i<$countfiles;$i++){
     $filename = $_FILES['s_o_img']['name'][$i];
     move_uploaded_file($_FILES['s_o_img']['tmp_name'][$i],$filename);
     $bin = file_get_contents($_FILES["s_o_img"]["name"]);
     $hex_string = base64_encode($bin);
     }
if(isset($_POST['sbtn']))
{
    $countfiles = count($_FILES['s_o_img']['name']);
    for($i=0;$i<$countfiles;$i++){ // add .length of $countfiles
        $filename = $_FILES['s_o_img']['name'][$i];
        move_uploaded_file($_FILES['s_o_img']['tmp_name'][$i],$filename);
        $bin = file_get_contents($_FILES["s_o_img"]["name"][$i]);  // add [$i] for valid index image
        $hex_string = base64_encode($bin);
    }
}
$images = array('zdcci389,3232cci389,42423fsfs2343'); //all base64 image strings
foreach($images as $image){
    $binary = base64_decode($image);
    $f = finfo_open();
    $mime_type = finfo_buffer($f, $binary, FILEINFO_MIME_TYPE);
    $expload_data = explode("/",$mime_type);
    $expload_data = array_filter($expload_data);
    $extension = "jpg";
    if (!empty($expload_data)){
        $extension_val = $expload_data[1];
        if($extension_val!=""){
            $extension = $extension_val;
        }
    }
    $filename = uniqid().".".$extension;
    $orignal_path =  "uploads/".$filename;
    file_put_contents($orignal_path, $binary);
}