当前位置:Gxlcms > PHP教程 > PHPAjaxForm提交图片上传并显示图片

PHPAjaxForm提交图片上传并显示图片

时间:2021-07-01 10:21:17 帮助过:17人阅读

这篇文章主要为大家详细介绍了PHP AjaxForm提交图片上传并显示图片源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

PHP dofile.php 文件上传源码

  1. <?php
  2. $file_upload = "upload/";
  3. $file_allow_ext='gif|jpg|jpeg|png|gif|zip|rar|ppt|xls|pdf|pptx|xlsx|docx';
  4. $file_allow_size = 5*1024*1024;
  5. if($_POST['submit']=="上传"){
  6. if(is_uploaded_file($_FILES['file']['tmp_name'])){
  7. $file_name = $_FILES['file']['name'];
  8. $file_error = $_FILES['file']['error'];
  9. $file_type = $_FILES['file']['type'];
  10. $file_tmp_name = $_FILES['file']['tmp_name'];
  11. $file_size = $_FILES['file']['size'];
  12. $file_ext = substr($file_name, strrpos($file_name, '.')+1);
  13. switch($file_error){
  14. case 0:
  15. $data['status'] = 0;
  16. $data['msg'] = "文件上传成功!";
  17. break;
  18. case 1:
  19. $data['status'] = 1;
  20. $data['msg'] = "文件上传失败,文件大小".$file_size."超过限制,允许上传大小".sizeFormat($file_allow_size)."!";
  21. break;
  22. case 3:
  23. $data['status'] = 1;
  24. $data['msg'] = "上传失败,文件只有部份上传!";
  25. break;
  26. case 4:
  27. $data['status'] = 1;
  28. $data['msg'] = "上传失败,文件没有被上传!";
  29. break;
  30. case 5:
  31. $data['status'] = 1;
  32. $data['msg'] = "文件上传失败,文件大小为0!";
  33. break;
  34. }
  35. if(stripos($file_allow_ext,$file_ext)===false){
  36. $data['status'] = 1;
  37. $data['msg'] = "该文件扩展名不允许上传";
  38. }
  39. if($file_size>$file_allow_size){
  40. $data['status'] = 1;
  41. $data['msg'] = "文件大小超过限制,只能上传".sizeFormat($file_allow_size)."的文件!";
  42. }
  43. if($data['status']==1){
  44. $data['status'] = 1;
  45. $data['msg'] = $data['msg'];
  46. exit(json_encode($data));
  47. }
  48. if($data['status']==0){
  49. if(file_exists($file_upload)){
  50. $file_new_name = date("YmdHis").'_'.rand(10000,99999).'.'.$file_ext;
  51. $file_save_path = $file_upload.$file_new_name;
  52. $data['status'] = 0;
  53. $data['url'] = $file_save_path;
  54. move_uploaded_file($file_tmp_name,$file_save_path);
  55. exit(json_encode($data));
  56. }else{
  57. exit(json_encode($data));
  58. }
  59. }
  60. }
  61. }
  62. function sizeFormat($size)
  63. {
  64. $sizeStr='';
  65. if($size<1024)
  66. {
  67. return $size."bytes";
  68. }
  69. else if($size<(1024*1024))
  70. {
  71. $size=round($size/1024,1);
  72. return $size."KB";
  73. }
  74. else if($size<(1024*1024*1024))
  75. {
  76. $size=round($size/(1024*1024),1);
  77. return $size."MB";
  78. }
  79. else
  80. {
  81. $size=round($size/(1024*1024*1024),1);
  82. return $size."GB";
  83. }
  84. }
  85. ?>

HTML如下

  1. <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
  2. <script type="text/javascript" src="http://files.cnblogs.com/files/china-li/jquery.form.js"></script>
  3. <form action="dofile.php" method="post" enctype="multipart/form-data" id="upfileimage">
  4. <input type="hidden" name="image[]" />
  5. <label for="file">文件:</label><input type="file" name="file" id="file" />
  6. <input type="submit" name="submit" value="上传" />
  7. </form>
  8. <script type="text/javascript">
  9. $("#upfileimage").submit(function(){
  10. if($("input[type=file]").val()==""){
  11. alert("请选择要上传的文件");
  12. return false;
  13. }
  14. })
  15. $(function(){
  16. var options = {
  17. type:"POST",
  18. dataType:"json",
  19. resetForm:true,
  20. success:function(o){
  21. if(o.status==1){
  22. alert(o.msg);
  23. }else{
  24. $("body").append(" <img src='"+o.url+"' alt='' width='100' /><input type='hidden' name='image[]' value='"+o.url+"' />");
  25. }
  26. },
  27. error:function(o){
  28. alert(o.message);
  29. }
  30. }
  31. $("#upfileimage").ajaxForm(options).submit(function(){return false;});
  32. })
  33. </script>

以上就是本文的全部内容,希望对大家的学习有所帮助。


相关推荐:

PHP实现房贷计算器的方法

php文件包含目录配置open_basedir的使用与性能

php 实现调用ffmpeg获取视频信息的方法

以上就是PHP AjaxForm提交图片上传并显示图片的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行