ugrás a tartalomhoz

kép feltöltése tallózás után, "feltöltés" gomb nélkül

domel · 2015. Feb. 8. (V), 01.51
Üdv!
Összetákoltam egy képfeltöltő oldalt (a kép átméretezés az copy-paste), és azt szeretném megoldani, hogy a "tallózás" gombra kattintva menjen is fel a kép, ne kelljen még külön "feltöltés" gombot nyomni. Kis google keresgélés alapján kijavítottam
  1. <input id="file" type="file" name="file" />  
sort
  1. <input id="file" type="file" name="file" onchange="this.form.submit();" />  
sorra, de nem működik. Látom hogy feltöltődik a kép, mert van egy kis internet-forgalom grafikon a képernyő sarkában, de meg már nem érkezik. Mindez úgy, hogy az onchange-t kihagyom és a küldés gombra kattintok, akkor működik. Valaki rá tudna nézni, hogy mit cseszek el?
  1. <?php  
  2.   
  3. ob_start();  
  4.   
  5. ?>  
  6. <?php  
  7.   
  8. ////////////////////////////////////counter +1  
  9. $filename = 'counter.txt';  
  10. if(!$fileopened = @fopen($filename'r')) {  
  11.    exit();  
  12. }  
  13. $counter = @fgets($fileopened,1024);  
  14. $counter++;  
  15. if(!$fileopened = @fopen($filename'w')) {  
  16.     exit();  
  17. }  
  18. @fwrite($fileopened$counter);  
  19. @fclose($fileopened);  
  20. $counter="kep".$counter.".jpg";  
  21.   
  22.   
  23. if(isset($_POST['submita'])) {  
  24.    
  25. $target"images/"//célmappa  
  26. $file_name=$_FILES['file']['name'];   
  27.   
  28. $tmp_dir = $_FILES['file']['tmp_name']; //tmp/phpaRrV0i   
  29.   
  30. if(!preg_match('/(gif|jpe?g|png)$/i'$file_name))   
  31. {  
  32. echo "Rossz fajltipus!";   
  33. }  
  34. else  
  35. {  
  36. $file_name=$counter;  
  37. move_uploaded_file($tmp_dir$target . $file_name);   
  38. $feltoltve = true;   
  39. //-----------átméretezés  
  40. $imgdir=$target;   
  41. $img=$file_name;   
  42. $tndir=$target;   
  43. $img_uj=$file_name;   
  44. $tn_w="500"//uj szelesseg   
  45.   
  46. #-+ Beolvassa az átméretezendő file-t   
  47. $src_img_src=$imgdir.$img;   
  48. $src_img = ImageCreateFromJPEG($src_img_src);   
  49.   
  50. #-+ Beolvassa az eredeti magasságot, szélességet   
  51. $org_h = imagesy($src_img);   
  52. $org_w = imagesx($src_img);   
  53.   
  54. #-+ Kiszámolja az uj kép magasságát   
  55. $tn_h = floor($tn_w * $org_h / $org_w);   
  56.   
  57. #-+ Elkésziti az uj képet   
  58. $dst_img = ImageCreateTrueColor($tn_w,$tn_h);   
  59.   
  60. #-+ Átméretezi   
  61. ImageCopyResampled($dst_img$src_img, 0, 0, 0, 0, $tn_w$tn_h$org_w$org_h);   
  62.   
  63. #-+ Elmenti...   
  64. $imgjpg_dst=$tndir.$img_uj;   
  65. ImageJPEG($dst_img$imgjpg_dst, 100);  
  66. }  
  67. }  
  68.   
  69. ?>  
  70. <html>  
  71.   <head>  
  72. <meta http-equiv="Content-Language" content="hu">  
  73. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">  
  74.     <title>kép feltöltés</title>  
  75.     <link href="vk_style.css" type="text/css" rel="stylesheet">  
  76.       
  77. </head>  
  78. <body  bgcolor="#912506">  
  79. <form enctype="multipart/form-data" action="" method="post" />  
  80. <input type="hidden" name="MAX_FILE_SIZE" value="3000000" /> <!--a feltöltött file maximális mérete 3mb-->  
  81. <label for="file"> Válassz egy fájlt!</label>  
  82. <input id="file" type="file" name="file" onchange="this.form.submit();" />  
  83. <input type="submit" name="submita" value="Feltöltés!" />  
  84. <?php  
  85.   
  86. print "Az oldalt eddig".$counter."felhasználó olvasta";  
  87. ?>  
  88.   
  89. <table border="0" width="65%" cellspacing="20" cellpadding="0" bgcolor="#CC5512">  
  90. <tr>  
  91. <td>  
  92. <b>  
  93. <?php  
  94. $dirFiles = array();  
  95. // opens images folder  
  96. if ($handle = opendir('images')) {  
  97.     while (false !== ($file = readdir($handle))) {  
  98.   
  99.         // strips files extensions        
  100.         //$crap   = array(".jpg", ".jpeg", ".JPG", ".JPEG", ".png", ".PNG", ".gif", ".GIF", ".bmp", ".BMP", "_", "-");      
  101.   
  102.         if ($file != "." && $file != ".." && $file != "index.php" && $file != "Thumbnails" && $file != "counter.txt") {  
  103.             $dirFiles[] = $file;  
  104.         }  
  105.     }  
  106.     closedir($handle);  
  107. }  
  108.   
  109. rsort($dirFiles);  
  110. foreach($dirFiles as $file)  
  111. {  
  112.     echo "<li><img src=\"images/$file\"></li>\n";  
  113. }  
  114.   
  115. ?>  
  116.   
  117. </b>        
  118.           
  119.           
  120. </td>  
  121. </tr>  
  122. </table>  
  123.   
  124. </body>  
  125. </html>  
  126.   
  127. <?php  
  128. ob_end_flush();  
  129. ?>  
Előre is köszönöm a segítséget!
 
1

Forgalom

Poetro · 2015. Feb. 8. (V), 15.50
Látom hogy feltöltődik a kép, mert van egy kis internet-forgalom grafikon a képernyő sarkában, de meg már nem érkezik.

Akkor meg kellene nézni, hogy mi az amit elküld az űrlap, és hova küldi. Erre minden korszerű böngészőben van beépített eszköz.
2

kevertem a szezont a fazonnal

domel · 2015. Feb. 8. (V), 18.08
Ez a sor nem engedte be a feltöltött képet akkor, ha this.form.submit( esemény volt a küldő
  1. if(isset($_POST['submita'])) {    
igazából nem is értettem meg, hogy mi lehet a posttal a probléma, de lecseréltem
  1. if ($_FILES['file'][size]<>0){  
sorra a fájl érkezésének a vizsgálatát, és működik