> 백엔드 개발 > PHP 튜토리얼 > 图片批量上传成功后,如何将路径与其他字段一同插入数据库?

图片批量上传成功后,如何将路径与其他字段一同插入数据库?

WBOY
풀어 주다: 2016-06-23 14:12:10
원래의
1361명이 탐색했습니다.

上传 数据库 图片




图片批量上传



请选择要上传的文件


     
        
         
   
   
    
         
   
   
       
         
   
   
   
  
  
    
  
小图 
中图 
大图 
图片说明:
 


$destination_folder = "picture/"; 

if(!file_exists($destination_folder))
    {
        mkdir($destination_folder);
    }

foreach ($_FILES["u_file"]["error"] as $key => $error) { 
      if ($error == UPLOAD_ERR_OK) { 
         $tmp_name = $_FILES["u_file"]["tmp_name"][$key]; 
          $name     = $_FILES["u_file"]["name"][$key]; 
       $uploadfile = $destination_folder.time().$name; 
          move_uploaded_file($tmp_name, $uploadfile); 
       echo '文件'.$name.'上传成功,图片路径:'.$uploadfile.'
';

      } 

?>




红色部分为三张图片上传成功后显示的图片路径
然后在图片说明里,输入说明文字,请问3张图片的路径如何连同输入的图片说明内容一起提交到数据库?
例如数据库为:picture,对应字段分别为picid,p_explain(图片说明),s_pic(小图路径),m_pic(中图路径),b_pic(大图路径)

回复讨论(解决方案)

...........
 echo '文件'.$name.'上传成功,图片路径:'.$uploadfile.'
';
$arr[]=$uploadfile;
}
$sql="insert into picture values('','$_POST['wd']','$arr[0]','$arr[1]','$arr[2]')";
mysql_query($sql);

LZ你是想同时插入N条记录?

insert into tableName(AA, BB, CC) values(1, 1, 1),(2, 2, 2);
로그인 후 복사

sql语句可以在foreach循环上传时拼接,成功后执行




图片批量上传



请选择要上传的文件


     
        
         
   
   
    
         
   
   
       
         
   
   
   
  
  
    
  
小图 
中图 
大图 
图片说明:
 


$destination_folder = "picture/"; 

if(!file_exists($destination_folder))
    {
        mkdir($destination_folder);
    }

foreach ($_FILES["u_file"]["error"] as $key => $error) { 
      if ($error == UPLOAD_ERR_OK) { 
         $tmp_name = $_FILES["u_file"]["tmp_name"][$key]; 
          $name     = $_FILES["u_file"]["name"][$key]; 
       $uploadfile = $destination_folder.time().$name; 
          move_uploaded_file($tmp_name, $uploadfile); 
       echo '文件'.$name.'上传成功,图片路径:'.$uploadfile.'
';

      } 

?>




红色部分为三张图片上传成功后显示的图片路径
然后在图片说明里,输入说明文字,请问3张图片的路径如何连同输入的图片说明内容一起提交到数据库?
例如数据库为:picture,对应字段分别为picid,p_explain(图片说明),s_pic(小图路径),m_pic(中图路径),b_pic(大图路径)

...........
 echo '文件'.$name.'上传成功,图片路径:'.$uploadfile.'
';
$arr[]=$uploadfile;
}
$sql="insert into picture values('','$_POST['wd']','$arr[0]','$arr[1]','$arr[2]')";
mysql_query($sql);

$arr得出的数组是不是有问题?
Array ( [0] => picture/13703303631.jpg )
Array ( [0] => picture/13703303631.jpg [1] =>picture/13703303632.jpg ) 
Array ( [0] => picture/13703303631.jpg [1] =>picture/13703303632.jpg [2] => picture/13703303633.jpg ) 

没有问题,你是在foreach 里面打印的,当然是那个结果。请仔细看 #1 的回复。

没有问题,你是在foreach 里面打印的,当然是那个结果。请仔细看 #1 的回复。

非常感谢你的解答,功能已实现。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿