Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt Uploadu Plików - Problem z działaniem
Forum PHP.pl > Forum > PHP
MrLoverLover
Hej smile.gif

Nie możemy uporać się z tym, że na jednym hostingu wszystkie pliki s± akceptowane przez formularz a na localu i na drugim hostingu skrypt sie zatrzymuje po otrzymaniu pliku .mp3(niektóre akceptuje, niektore nie oO), zero reakcji, zero informacji na print_r($_POST);
Czym może to być spowodowane ?

Oto kodzik biggrin.gif

  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <input type="file" name="img[]" multiple="multiple" />
  3. <input type="submit" name="wyslij" value="UPLOAD">
  4. </form>
  5. <?php
  6. function convert_to_utf8($content) {
  7. if(!mb_check_encoding($content, 'UTF-8')
  8. OR !($content === mb_convert_encoding(mb_convert_encoding($content, 'UTF-32', 'UTF-8' ), 'UTF-8', 'UTF-32'))) {
  9. $content = mb_convert_encoding($content, 'UTF-8');
  10. if (mb_check_encoding($content, 'UTF-8')) {
  11. // log('Converted to UTF-8');
  12. } else {
  13. // log('Could not converted to UTF-8');
  14. }
  15. }
  16. return $content;
  17. }
  18. function clear_name($gdzie){
  19. $gdzie=convert_to_utf8($gdzie);
  20. $co = array('±', 'ˇ', 'ć', 'Ć', 'ę', 'Ę', 'ł', 'Ł', 'ń', 'Ń', 'ó', 'Ó', '¶', '¦', 'ż', 'Ż', 'Ľ', '¬', '±', 'ˇ', 'ć', 'Ć', 'ę', 'Ę', 'ł', 'Ł', 'ń', 'Ń', 'ó', 'Ó', '&oacute;', '&Oacute;', '¶', '¦', 'Ľ', '¬', 'ż', 'Ż', 'ä', 'Ä', 'ö', 'Ö', 'ü', 'Ü', ' +',' ');//' +'-spacja
  21. $na = array('a', 'A', 'c', 'C', 'e', 'E', 'l', 'L', 'n', 'N', 'o', 'O', 's', 'S', 'z', 'Z', 'z', 'Z', 'a', 'A', 'c', 'C', 'e', 'E', 'l', 'L', 'n', 'N', 'o', 'O', 'o', 'O', 's', 'S', 'z', 'Z', 'z', 'Z', 'ae', 'AE', 'oe', 'OE', 'ue', 'UE', '_', '_');
  22. $gdzie=str_replace($co, $na, $gdzie);
  23. $gdzie=strtolower($gdzie);
  24. return $gdzie;
  25. }
  26. function check_ext($name){
  27. $ext=clear_name($name);
  28. $ext = strtolower(substr($ext,strrpos($ext,'.')+1)); //wycinamy ciag znaków po ostatniej kropce
  29. return $ext;
  30. }
  31. //echo clear_name('±ęćłóńĽż-| |-ˇĘĆŁÓѬŻ');
  32. $dir='upload';
  33. $max_rozmiar=3;//wielkosc w postaci MB np 3MB to 3, 5MB to 5
  34. $max_rozmiar=((1024*$max_rozmiar)*1000);//matma wielkosci pliku
  35. $whitelist=array('jpg', 'png', 'gif', 'jpeg');//akceptowane rozszerzenia
  36. if(isset($_POST['wyslij'])){
  37. //print_r($_POST);
  38. $ile=count($_FILES['img']['name']);//ilosc przesylanych plikow ogolem
  39. $licz=0;
  40. $istnieje=0;
  41. for($i=0; $i<$ile; $i++){
  42. //echo''.$i.' '.$_FILES['img']['name'][$i].'<br/>';
  43. if(!file_exists("".$dir."/".clear_name($_FILES['img']['name'][$i])."")){
  44. if($_FILES['img']['tmp_name'][$i]!='' AND is_uploaded_file($_FILES['img']['tmp_name'][$i]) AND $_FILES['img']['size'][$i]<=$max_rozmiar AND in_array(check_ext($_FILES['img']['name'][$i]),$whitelist)){
  45. move_uploaded_file($_FILES['img']['tmp_name'][$i], "upload/".clear_name($_FILES['img']['name'][$i])."");
  46. echo''.clear_name($_FILES['img']['name'][$i]).' - <font color="green">Pomyslnie wgrany</font><br/>';
  47. $licz++;
  48. }else{
  49. echo''.clear_name($_FILES['img']['name'][$i]).' - <font color="red">Wgrywanie niepomyslne</font><br/>';
  50. }
  51. }else{
  52. echo''.clear_name($_FILES['img']['name'][$i]).' - <font color="red">Juz istnieje</font><br/>';
  53. $istnieje++;
  54. }
  55. }
  56. $nieodpowiednie=$ile-$licz-$istnieje;
  57. <br />
  58. Wszystkich plikow: '.$ile.'<br />
  59. Wgranych pomyslnie: '.$licz.'<br />
  60. Juz istniejacych: '.$istnieje.'<br />
  61. Nieodpowiednich plikow: '.$nieodpowiednie.'<br />
  62. ';
  63. }
  64. ?>
k_@_m_i_l
SprawdĽ maksymalny czas wykonywania skryptu na tym drugim serwerze. Być może po prostu przekroczony został czas wykonywania skryptu przy uploadzie.
Poza tym - je¶li chcesz pobrać błędy, to wypluj $_FILES, a nie $_POST. Pliki s± przesyłane do $_FILES.
Adi13089
Czas wykonywania skryptu nie wchodzi w gre, ponieważ mam to wył±czone, hm localhost-czyli prędko¶ć `zabójcza` więc nie powinno być komplikacji z czasem wykonywania skryptu.

No tak
FILES

ale zobacz, że skrypt w ogóle nie wypluwa nic.
Niektóre pliki normalnie mi printuje tablice a przy niektórych skrypt wykonuje tak jakby STOP
Tutaj przykład pliku poprawnie otrzyanego przez skrypt
  1. Array ( [img] => Array ( [name] => Array ( [0] => Amna - She Bangs (Original Radio Edit)www.djgeru.com.pl.mp3 ) [type] => Array ( [0] => application/x-download ) [tmp_name] => Array ( [0] => E:\xampp\tmp\phpF751.tmp ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 5244548 ) ) ) amna__-_she_bangs_(original_radio_edit)www.djgeru.com.pl.mp3 - Wgrywanie niepomyslne
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.