1. PHP / Говнокод #1250

    +143.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    if(!isset($err))
           {global $err;
    	    $err = array();
    	   }
              $f_ID=0;
            /* Get autoincreament id before inserting */
    		   $sqlSelctNextMem = "SHOW TABLE STATUS LIKE 'slideshow'";
    	       $resSelctNextMem = mysql_query($sqlSelctNextMem);
    	       $rr = mysql_fetch_array($resSelctNextMem);
               $maxRetailId =  $rr['Auto_increment'];
    		   /* Get autoincreament id before inserting */
    		    $ssf_arr=array();
    	   for($img=0; $img < $TotalNoOfFile;$img++)
    	   {
    	     if($_FILES['photo']['name'][$img]=="")
    		 {
    		    $t_cnt++;
    			if($t_cnt==$TotalNoOfFile)
    		    {
    		     $msg_dis.="<br><center><font class=required><img src=images/error.gif border=0>Image uploading failed.</font><center>";
    			}
    		 }
    		  if($_FILES['photo']['name'][$img]!="")
    		  {
    				$t=$f_ID+1;
    				$img_id=$img+1;
    				$filename = basename($_FILES['photo']['name'][$img]);
    				$my_firstfile=str_replace(" ","_",$_FILES['photo']['name'][$img]);
    				//$f_name_file=$_FILES['photo']['name'][$img];
    				$f_name_file=$my_firstfile;
    		    	$extp = substr($f_name_file, strrpos($f_name_file, '.') + 1);
    				
    		  
    		   //22_image_small_1,22_image_1,22_image
    			$filetypecmp=explode("/",$_FILES['photo']['type'][$img]);
    			$filetype=$filetypecmp[0];
    			$filetypeextcmp=explode(".",basename($_FILES['photo']['name'][$img]));
    			$filenamewithoutext=substr($filetypeextcmp[0],0,15);
    			$filetypeext=end($filetypeextcmp);
    			$new_filename=$maxRetailId."_image".".gif";
    			$new_filename_middle=$maxRetailId."_image_".$img_id.".gif";
    			$new_filename_small=$maxRetailId."_image_small".".gif";
    			// $_SESSION["ext"][$img]= basename($_FILES['photo']['name'][$img]);
    			$mediafolder = "tmp/uploads/eflyers/";
    			//$target_path = "uploads/eflyers/slideshow/".$filename;
    			// $target_thumbnail_path="uploads/eflyers/slideshow/thumbnails/".$filename;
    			$target_path_org = $mediafolder."slideshow/".$f_name_file;
    			$target_path = $mediafolder."slideshow/".$new_filename;
    			$target_thumbnail_path=$mediafolder."slideshow/".$new_filename_small;
    			$target_thumbnail_middle_path=$mediafolder."slideshow/".$new_filename_middle;
    			$result = 0;
    			$allowedfiletype="gif,jpg,jpeg,png,bmp,JPG,JPEG,PNG,GIF,BMP";
    			$pos="";
    			$pos = strpos($allowedfiletype,$filetypeext);
    			$hw=getimagesize($_FILES['photo']['tmp_name'][$img]);
    				  /* if($hw[0] > 800 || $hw[1] > 600){
    					 
    					 $msg.=basename($_FILES['photo']['name'][$img])."-> exceed the limit of 800x600 pixel<br>";
    						
    				   }else*/ if($pos === false)
    					  {
    						  //$msg.=basename($_FILES['photo']['name'][$img])."->Only following jpg,jpeg,pjpeg,png,gif types are allowed<br>";
    						   $msg_dis.=basename($_FILES['photo']['name'][$img])."->Only following jpg,jpeg,png,gif,bmp types are allowed<br>";
    						  //array_push($err,$msg);
    						 
    					   }else{
    					// chmod ($mediafolder, 0777); 
    					$temp_file=$_FILES['photo']['tmp_name'][$img];
    				 	 if(@move_uploaded_file($temp_file, $target_path)) 
    					   {
    							$db->resize_jpg($target_path,$target_path_org,50,40);
    							$db->resize_jpg($target_path,$target_thumbnail_path,50,40);
    							$db->resize_jpg($target_path,$target_thumbnail_middle_path,600,400);
    							//chmod ($mediafolder, 0755); 
    				        	if( $msg=="")
    							 $result = 1;
    							//$filesuploaded.=$_FILES['photo']['name'][$img]." Uploaded successfully<br>";
    							$filesuploaded.=str_replace(" ","_",$_FILES['photo']['name'][$img]).",";
    								 
    								// slideshow_id 	created slideshow
    							$creat_time=time();
    							$sql_media="insert into slideshow(`slideshow_id`,`created`)values('{$maxRetailId}','{$creat_time}')";
    							$res_media=$db->insert_data($sql_media);
    								 $_SESSION['SS_ID']=$maxRetailId;
    						        $sql_slideframe="insert into slideshow_frame(`frame_id`,`slideshow_id`,`title`,`smallfilename`,`filename`,`order_number`)values('','{$maxRetailId}','{$f_name_file}','{$new_filename_small}','{$new_filename_middle}','{$img_id}')";
    							    $res_slideframe=$db->insert_data($sql_slideframe);
    								 $ssf_in_id=mysql_insert_id();
    								 $_SESSION['SSF_ID']=$ssf_in_id;
    								 array_push($ssf_arr,$ssf_in_id); 
    								 $_SESSION['SSF_ID_ARRAY']=$ssf_arr;
    			           }//move
    		             }//else
              }
    	   } 
    	   $_SESSION['IMG_CNT']=$img_id;
    $msg.=$filesuploaded;
     sleep(1);

    Запостил: guest, 25 Июня 2009

    Комментарии (4) RSS

    • Забыл прокомментировать.
      Это всё сущеадский код сохранения присланных с формой картинок.
      Запостил целиком ибо это один большой пипец.
      Ответить
    • Smoke:
      да после второй строки можно уже не читать, все и так ясно...
      Ответить
    • не, почитать, я думаю, стоит.
      при желании можно извлечь лулзов из строк:
      7-10 (как бы получаем будущий ID, потом делаем хитрые манипуляции с файлами, а уж потом делаем вставку записи)
      35-42 (смело игнорируем всё, что в имени файла после первой точки и проставляем расширение .gif)
      52-54 (железобетонная проверка допустимости расширения файла)
      71-73 (у нас есть крутой объект $db. он у меет менять размеры jpeg'а. а вообще он, как не трудно догадаться, с базой работает и запросы разные выполняет.)
      97 (поспи, родной)

      и это еще не вдаваясь в подробности всего остального и не обращая внимание на закомментированные строки.
      Ответить
    • Вот это отлично!
      вот это - хорошо!
      Ответить

    Добавить комментарий