php上传图片代码(同时图片保存到数据库)

php上传图片代码(同时图片保存到数据库),下面提供的php上传图片代码是一款利用php copy来上传文件的,他不但可以把图片上传到服务器,同时还把图片的地址保存到了mysql数据库里面。

  1. // 连接数据库
  2. $conn = mysql_connect("localhost", "phpdb", "phpdb");
  3. mysql_select_db("test",$conn);
  4. ?>
  5. <?
  6. // 取得网页的参数
  7. $id'];
  8. // 判断该用户名是否已经存在
  9. $checksql="select * from image where ";
  10. $check_re=mysql_query($checksql,$conn);
  11. $num=mysql_num_rows($check_re);
  12. if($num!=0){
  13. echo "<table width='100%' align=center><tr><td align=center>";
  14. echo "该用户名已经存在,请选择另一个<br>";
  15. echo "<font color=red>上传失败!</font><br><a href='网页特效:history.back(-1)'>返回</a>";
  16. echo "</td></tr></table>";
  17. exit();
  18. }
  19. // 方法二:只保存文件名,
  20. // 保存文件名时,文件在php.ini配置文件中设置的upload临时目录中,也就是upload_tmp_dir 参数中
  21. if ($photo<>""){
  22. if (($photo_type== "image/pjpeg")or($photo_type == "image/gif")){
  23. // c:winnttemp 使php.ini配置文件中设置的upload文件的临时目录
  24. $photodir="c:winnttemp/";
  25. if(!(file_exists($photo_name))){
  26. // 拷贝该图片文件到设定的上传文件临时目录中
  27. copy($photo,$photodir.$photo_name);
  28. }
  29. }
  30. else{
  31. echo "<script language=javascript>alert('上传照片只能是jpg或者gif!');history.go(-1)</script><br>";
  32. echo "或者<br>";
  33. echo "文件名已经存在,请为图片改一个文件名";
  34. exit;
  35. }
  36. }
  37. else{
  38. $photo_name="";
  39. }
  40. $sql="insert into image (id, photo) values('$id', '$photo_name')";
  41. mysql_query($sql,$conn) or die ("插入数据失败: ".mysql_error());
  42. // 关闭连接
  43. mysql_close($conn);
  44. // 显示上传图片成功
  45. // 重定向到注册成功页面
  46. header("location:display_image2.php?);
  47. ?>
  48. 代码二
  49. <?php
  50. // 连接数据库
  51. $conn = mysql_connect("localhost", "phpdb", "phpdb");
  52. mysql_select_db("test",$conn);
  53. ?>
  54. <?
  55. // 取得网页的参数
  56. $id'];
  57. // 判断该用户名是否已经存在
  58. $checksql="select * from image where ";
  59. $check_re=mysql_query($checksql,$conn);
  60. $num=mysql_num_rows($check_re);
  61. if($num!=0){
  62. echo "<table width='100%' align=center><tr><td align=center>";
  63. echo "该用户名已经存在,请选择另一个<br>";
  64. echo "<font color=red>上传失败!</font><br><a href='javascript:history.back(-1)'>返回</a>";
  65. echo "</td></tr></table>";
  66. exit();
  67. }
  68. // 方法一:在mysql中保存图片文件,
  69. // 如果有图片文件,打开图片文件,将图片文件中的数据用函数
  70. // addslashes处理,然后传递给变量$data,
  71. // addslashes函数是给字符串加入斜线,使字符串能够顺利写入数据库中
  72. // 这样变量$data 中保存的就是图片文件的数据了
  73. if ($photo<>""){
  74. $fp=fopen($photo,"r");
  75. $data=addslashes(fread($fp,filesize($photo)));
  76. }
  77. $password=md5($password);
  78. $sql="insert into image (id,photo) values('$id','$data')";
  79. mysql_query($sql,$conn) or die ("插入数据失败: ".mysql_error());
  80. // 关闭连接
  81. mysql_close($conn);
  82. // 显示上传图片成功
  83. // 重定向到注册成功页面
  84. header("location:display_image1.php?);