ホームページ  >  記事  >  バックエンド開発  >  画像をアップロードするためのphpコード

画像をアップロードするためのphpコード

WBOY
WBOYオリジナル
2016-07-25 09:04:11962ブラウズ
  1. /*

  2. * パラメーターの説明
  3. * $max_file_size: アップロードファイルのサイズ制限、単位 BYTE
  4. * $destination_folder: アップロードファイルのパス
  5. * $watermark: ファイルを添付するかどうかウォーターマーク (1 はウォーターマークを追加することを意味し、その他はウォーターマークを追加しないことを意味します);
  6. * http://bbs.it-home.org
  7. * 使用方法:
  8. * 1. 「extension=php_gd2.dll」の行の前PHP.INI ファイル GD ライブラリを使用する必要があるため、; 記号を削除します;
  9. * 2. extension_dir = を php_gd2.dll が配置されているディレクトリに変更します;
  10. */
  11. // ファイル タイプ リストをアップロードします
  12. $uptypes = array (
  13. 'image/jpg',
  14. 'image/png',
  15. 'image/jpeg',
  16. 'image/pjpeg',
  17. 'image/gif',
  18. 'image/bmp',
  19. 'image/x- png'
  20. );
  21. $max_file_size = 20000000; //アップロードファイルサイズ制限、単位 BYTE
  22. $destination_folder = 'uploadimg/'; //アップロードファイルパス
  23. $watermark = 1 (1 はウォーターマークを付けるかどうかを意味します)ウォーターマークを追加する、その他はウォーターマークを追加しないことを意味します );
  24. $watertype = 1; //ウォーターマークのタイプ (1 はテキスト、2 は画像)
  25. $waterposition = 1; // ウォーターマークの位置 (1 は左下隅、2 はウォーターマークです)右下隅、3 は左上隅、4 は右上隅、5 は中央);
  26. $waterstring = "http://bbs.it-home.org/" //ウォーターマーク文字列
  27. $waterimg = "xplore.gif"; //ウォーターマーク画像
  28. $imgpreview = 1 ; //プレビュー画像を生成するかどうか(1は生成することを意味し、その他は生成しません);
  29. $imgpreviewsize = 1 / 2; //サムネイル比率
  30. ? >
  31. ZwelL画像アップロードプログラム
  32. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  33. //アップロードされたファイルがあるかどうかを判断します

  34. if (is_uploaded_file($_FILES['upfile']['tmp_name']) ) {

  35. $upfile = $_FILES['upfile'];
  36. print_r($_FILES['upfile']);
  37. $name = $upfilep[ 'name']; //ファイル名
  38. $type = $upfile['type']; //ファイルタイプ
  39. $size = $upfile['size']; //ファイルサイズ
  40. $tmp_name = $upfile['tmp_name] ']; //一時ファイル
  41. $error = $upfile['error' ]; //エラーの原因

  42. if ($max_file_size < $size) { // file

  43. echo 'アップロードされたファイルが大きすぎます';
  44. exit ();
  45. }< /p>
  46. if (!in_arrar($type, $uptypes)) { //ファイルの種類を決定します

  47. 'アップロードされたファイルの種類が一致しません' . $type;
  48. exit ();
  49. }
  50. if (!file_exists($destination_folder)) {

  51. mkdir($destination_folder);
  52. }< /p>
  53. if (file_exists("upload/" . $_FILES["file" ]["name"])) {

  54. echo $_FILES["file"]["name"] " はすでに存在します。 . ";
  55. } else {
  56. move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
  57. echo "保存場所: " . "アップロード/" . $_FILES["ファイル"]["名前"];
  58. }
  59. $pinfo = pathinfo($name);

  60. $ftype = $pinfo['拡張子'] ;
  61. $destination = $destination_folder . "." $ftype;
  62. if (file_exists ($destination) && $overwrite != true) {
  63. echo "同じ名前のファイルが既に存在します";
  64. exit ();
  65. }

  66. if (!move_uploaded_file($tmp_name, $destination )) {

  67. echo "ファイルの移動エラー";
  68. exit ();
  69. }

  70. $pinfo = pathinfo($destination);

  71. $fname = $pinfo[basename];
  72. echo " 已经成功上传
    文件名: gt;
    ";
  73. echo "宽度:" 。 $image_size[0];
  74. echo "长度:" 。 $image_size[1];
  75. echo "
    大小:" 。 $file["サイズ"] 。 " バイト";

  76. if ($watermark == 1) {

  77. $iinfo = getimagesize($destination, $iinfo);
  78. $nimage = imagecreatetruecolor($image_size[0], $image_size[1]);
  79. $white = imagecolorallocate($nimage, 255, 255, 255);
  80. $black = imagecolorallocate($nimage, 0, 0, 0);
  81. $red = imagecolorallocate($nimage, 255, 0, 0);
  82. imagefill($nimage, 0, 0, $白);
  83. switch ($iinfo[2]) {
  84. ケース 1 :
  85. $simage = imagecreatefromgif($destination);
  86. ブレーク;
  87. ケース 2 :
  88. $simage = imagecreatefromjpeg($destination);
  89. ブレーク;
  90. ケース 3 :
  91. $simage = imagecreatefrompng($destination);
  92. ブレーク;
  93. ケース 6 :
  94. $simage = imagecreatefromwbmp($destination);
  95. ブレーク;
  96. デフォルト :
  97. die("不サポートな文件类型");
  98. exit;
  99. }

  100. imagecopy($nimage, $simage, 0, 0, 0, 0, $image_size[0], $image_size[1]);

  101. imagefilledrectangle($nimage, 1, $image_size[1] - 15, 80, $image_size[ 1], $white);

  102. switch ($watertype) {

  103. case 1 : //加水発言符串

  104. imagestring($nimage, 2, 3, $image_size[1] - 15, $waterstring, $black);

  105. Break;
  106. case 2 : //加水印图片

  107. $simage1 = imagecreatefromgif("xplore.gif");

  108. imagecopy($nimage, $simage1, 0, 0, 0, 0, 85, 15);
  109. imagedestroy($simage1);
  110. Break;
  111. }
  112. switch ($iinfo[2]) {

  113. case 1 :
  114. //imagegif($nimage, $destination);

  115. imagejpeg($nimage, $destination);

  116. ブレーク;
  117. ケース 2 :
  118. imagejpeg($nimage, $destination);
  119. ブレーク;
  120. ケース 3 :
  121. imagepng($nimage, $destination);
  122. ブレーク;
  123. ケース 6 :
  124. imagewbmp($nimage, $destination);
  125. //imagejpeg($nimage, $destination);
  126. Break;
  127. }

  128. //上書き文書

  129. imagedestroy($nimage);
  130. imagedestroy($simage);
  131. }

  132. if ($imgpreview == 1) {

  133. echo "
    gt;图片预览:
    ";
  134. echo "图片预览:r文件名:";
  135. }
  136. }
  137. }
  138. ?>
复制代

您可能感兴趣向文章: php 多图片上传的简单例(图文) php文件上传回遇的一问题(move_uploaded_file) php普通表单多文件上传的代码 PHP 文ファイルの原理を理解する php简单文件上の例 php で送信されたファイルのファイルの種類を判断する方法 一つのphp上でダウンロードされたファイルのソースコード 一好用php文件上传处理类 php 上に多数のファイルの代価 php多文件上の3つの方法 php上传图片機能的实现



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。