Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Upload zdjęć do bazy mysql+miniaturki
vodkon
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


Witam chciałbym zrobić upload zdjęć do bazy mysql tyle że prócz zdjęcia w oryginalnej rozdzielczości były by też 2 z inną ustaloną
  1. CREATE TABLE wydarzenia_galeria (
  2. id int(10) NOT NULL AUTO_INCREMENT,
  3. typ varchar(30) NOT NULL,
  4. rozmiar int(11) NOT NULL,
  5. nazwa varchar(200) NOT NULL,
  6. img mediumblob NOT NULL,
  7. PRIMARY KEY (id)
  8. );

Gdzie pole nazwa będzie uzupełnieniem reszty skryptu. jak zrobić taki skrypt i co zmodyfikować w kodzie sql czy ma tworzyć 3 osobne rekordy dla jednego zdjęcia czy jak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vodkon
post
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


Jak zrobić aby plik był przetwarzany biblioteka zmieniała wielkość i zapisywany był jak oryginalny obraz? bo generowanie w tzn. locie miniaturki jest nie korzystne.
  1. <?php if($HTTP_POST_VARS['img'] == 1){
  2. if($HTTP_POST_FILES['plik']['size'] < 8665600 || $HTTP_POST_FILES['plik']['size'] != 0){
  3. if(is_uploaded_file($HTTP_POST_FILES['plik']['tmp_name']) || !isset($HTTP_POST_FILES['plik'])){
  4. mysql_connect("localhost", "", "")or die("Brak połączenia z serwerem.");
  5. mysql_select_db("zszgoleniow")or die("ERROR MySQL: Zszgoleniow.pl Baza danych nie odpowiada!");
  6. mysql_query('SET CHARACTER SET utf8');
  7. $size = $HTTP_POST_FILES['plik']['size'];
  8. $name = $HTTP_POST_FILES['plik']['name'];
  9. $typ = $HTTP_POST_FILES['plik']['type'];
  10. $nazwa = $HTTP_POST_VARS['nazwa'];
  11. $fhandle = fopen($HTTP_POST_FILES['plik']['tmp_name'], "r");
  12. $content = base64_encode(fread($fhandle, $HTTP_POST_FILES['plik']['size']));
  13. fclose($fhandle);
  14. class SimpleImage {
  15. var $image;
  16. var $image_type;
  17.  
  18. function load($filename) {
  19.  
  20. $image_info = getimagesize($filename);
  21. $this->image_type = $image_info[2];
  22. if( $this->image_type == IMAGETYPE_JPEG ) {
  23.  
  24. $this->image = imagecreatefromjpeg($filename);
  25. } elseif( $this->image_type == IMAGETYPE_GIF ) {
  26.  
  27. $this->image = imagecreatefromgif($filename);
  28. } elseif( $this->image_type == IMAGETYPE_PNG ) {
  29.  
  30. $this->image = imagecreatefrompng($filename);
  31. }
  32. }
  33. function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
  34.  
  35. if( $image_type == IMAGETYPE_JPEG ) {
  36. imagejpeg($this->image,$filename,$compression);
  37. } elseif( $image_type == IMAGETYPE_GIF ) {
  38.  
  39. imagegif($this->image,$filename);
  40. } elseif( $image_type == IMAGETYPE_PNG ) {
  41.  
  42. imagepng($this->image,$filename);
  43. }
  44. if( $permissions != null) {
  45.  
  46. chmod($filename,$permissions);
  47. }
  48. }
  49. function output($image_type=IMAGETYPE_JPEG) {
  50.  
  51. if( $image_type == IMAGETYPE_JPEG ) {
  52. imagejpeg($this->image);
  53. } elseif( $image_type == IMAGETYPE_GIF ) {
  54.  
  55. imagegif($this->image);
  56. } elseif( $image_type == IMAGETYPE_PNG ) {
  57.  
  58. imagepng($this->image);
  59. }
  60. }
  61. function getWidth() {
  62.  
  63. return imagesx($this->image);
  64. }
  65. function getHeight() {
  66.  
  67. return imagesy($this->image);
  68. }
  69. function resizeToHeight($height) {
  70.  
  71. $ratio = $height / $this->getHeight();
  72. $width = $this->getWidth() * $ratio;
  73. $this->resize($width,$height);
  74. }
  75.  
  76. function resizeToWidth($width) {
  77. $ratio = $width / $this->getWidth();
  78. $height = $this->getheight() * $ratio;
  79. $this->resize($width,$height);
  80. }
  81.  
  82. function scale($scale) {
  83. $width = $this->getWidth() * $scale/100;
  84. $height = $this->getheight() * $scale/100;
  85. $this->resize($width,$height);
  86. }
  87. function resize($width,$height) {
  88. $new_image = imagecreatetruecolor($width, $height);
  89. imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
  90. $this->image = $new_image; } }
  91. if($_GET['tm'] == "2"){
  92. $image = new SimpleImage();
  93. $image->load($content);
  94. $image->resize(470,270);
  95. $image->output(); }
  96.  
  97. $imgmysql="INSERT INTO galeria (typ,size,size2,size3,nazwa,img,img2,img3,wydarzenia_nazwa,wydarzenia) VALUES ('$typ','$size','$size2','$size3','$name','$content','$content2','$content3','$nazwa','1')";
  98. mysql_query($imgmysql);
  99.  
  100. }else{ echo "Nie wybrano pliku!"; } }else{ echo "Wielkość pliku jest za duża!"; } }
  101. ?>
  102.  
  103. <form method="POST" enctype="multipart/form-data">
  104. <input type="hidden" name="img" value="1">
  105. <input type="file" name="plik" size="40" />
  106. <input type="text" name="nazwa" value="Andrzejki" size="40" />
  107. <input type="submit" value="Uploaduj" />
  108. </form>


Ten post edytował vodkon 15.12.2012, 22:46:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 22:46