Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Operacje na plikach
patryk9200
post
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


Cześć,
Mam system wysyłania plików na serwer hurtowo i mam taki kod który je odbiera i zapisuje w odpowiednim folderze.
Potrzebuję aby każdy z kolejnych plików miał nazwę w ten sposób:
plik1
plik2
plik3
plik4
.... i tak aż do 13. Oto kod, jak to zrobić?
  1. <?php
  2. echo 'Upload result:<br>'; // At least one symbol should be sent to response!!!
  3.  
  4. $uploaddir = dirname($_SERVER['SCRIPT_FILENAME'])."/UploadedFiles/";
  5.  
  6. $target_encoding = "ISO-8859-1";
  7. echo '<pre>';
  8. if(count($_FILES) > 0)
  9. {
  10.    $arrfile = pos($_FILES);
  11.    $uploadfile = $uploaddir . iconv("UTF-8", $target_encoding,basename($arrfile['name']));
  12.    if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  13.       echo "File is valid, and was successfully uploaded.\n";
  14. }
  15. else
  16.    echo 'No files sent. Script is OK!'; //Say to Flash that script exists and can receive files
  17.  
  18. echo 'Here is some more debugging info:';
  19. print_r($_FILES);
  20.  
  21.  
  22. echo "</pre>";
  23. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
patryk9200
post
Post #2





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


na potrzeby strony musiałem wprowadzić trochę zmian w kodzie i teraz nie działa mi to poprawnie... bez modyfikacji działało.
Gdzie jest błąd? da może się zrobić tak, żeby zmienną $_session['ktory'] przerobić na taką która będzie przyjmowała nazwę pobraną z zmiennej $unikatowynumer ?
Oto kod:
  1. <?php
  2.      require_once ("admin/panel.class");
  3.      require_once ("ogloszenie.class");                              // inicjujemy koszyk na zakupy
  4.      session_start();
  5.      $unikatowynumer = $_GET['id'];
  6.      $panel = $_SESSION['panel'];
  7.      $ogloszenie = $_SESSION['ogloszenie'];
  8.    
  9.      if(!isset($_SESSION['ktory']))
  10.  { $_SESSION['ktory'] = 0; }
  11.      
  12.      
  13. if(!isset($_SESSION['ktory']))
  14.   $_SESSION['ktory'] = 0;
  15. echo 'Upload result:<br>'; // At least one symbol should be sent to response!!!
  16.  
  17. echo '<pre>';
  18. if(count($_FILES) > 0)
  19. {
  20.  $arrfile = pos($_FILES);
  21.  $e = explode(".", $arrfile['name']);
  22.  $extension = $e[count($e)-1];
  23.            function sciezki ($nr)
  24.      {
  25.        $nr = $nr +1;
  26.        global $uploadfile;
  27.        global $pathtobigfile;
  28.        global $pathtosmallfile;
  29.        if ($_SESSION['ktory'] == $nr)
  30.         { $uploadfile = dirname($_SERVER['SCRIPT_FILENAME'])."files/temp_no".$nr."/".$unikatowynumer;
  31.           $pathtobigfile     = "files/big_pics_no".$nr."/".$unikatowynumer;
  32.           $pathtosmallfile   = "files/small_pics_no".$nr."/".$unikatowynumer;
  33.          }
  34.      }
  35.     sciezki (0);  sciezki (1); sciezki (2); sciezki (3); sciezki (4); sciezki (5); sciezki (6); sciezki (7); sciezki (8); sciezki (9); sciezki (10); sciezki (11); sciezki (12);
  36.  if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  37.  {
  38.  echo "File is valid, and was successfully uploaded.\n";
  39.  $_SESSION['ktory']++;
  40.   }  
  41.  if($_SESSION['ktory']==13){
  42.          $_SESSION['ktory'] = 0;
  43.       //lub session_destroy();
  44.  }
  45.  
  46. //######################POMNIEJSZANIE#########################
  47. $img_path = $uploadfile;
  48. //Tworzymy scieżkę do miniaturki
  49. $thumb_path = $pathtobigfile;
  50. //ustalamy maksymalny dopuszczalny rozmiar miniatury
  51. $max_width=$max_height=400;  
  52. //Sprawdzamy czy obraz istnieje
  53. if(!file_exists($img_path))die('<p>Plik obrazu nie istnieje1</p>');    
  54. //Pobieramy informacjie o obrazie
  55. $img_attr = getimagesize($img_path);
  56. //Sprawdzamy czy obraz jest wiekszy na szerokość czy na wysokość
  57. // i zmniejszamy odpowiednio rozmiar
  58. // $img_attr[0] - szerokosc, $img_attr[1] - wysokość
  59. if($img_attr[0]>$img_attr[1]){
  60.         $scale = $img_attr[0] / $max_width;
  61. } else {
  62.         $scale = $img_attr[1] / $max_height;
  63. }    
  64. //Tworzymy obraz miniaturki
  65. $w = floor($img_attr[0]/$scale);
  66. $h = floor($img_attr[1]/$scale);
  67. $thumb = imagecreatetruecolor($w,$h);
  68. $image = imagecreatefromjpeg($img_path);
  69. //Kopiujemy obraz pomniejszajac go,
  70. imagecopyresampled($thumb, $image, 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]);
  71. //Zapisujemy do pliku (jakość 100)
  72. //Do wyświetlenia: dodanie przed linie imagejpeg($thumb,$thumb_path,85); linijki header('Content-type: image/jpeg');
  73. imagejpeg($thumb,$thumb_path,100);
  74.  
  75. //oooooooooooooooooooMINIATURAooooooooooooooooooooooo
  76. $img_path = $pathtobigfile;
  77. //Tworzymy scieżkę do miniaturki
  78. $thumb_path = $pathtosmallfile;
  79. //ustalamy maksymalny dopuszczalny rozmiar miniatury
  80. $max_width=$max_height=90;  
  81. //Sprawdzamy czy obraz istnieje
  82. if(!file_exists($img_path))die('<p>Plik obrazu nie istnieje2</p>');    
  83. //Pobieramy informacjie o obrazie
  84. $img_attr = getimagesize($img_path);
  85. //Sprawdzamy czy obraz jest wiekszy na szerokość czy na wysokość
  86. // i zmniejszamy odpowiednio rozmiar
  87. // $img_attr[0] - szerokosc, $img_attr[1] - wysokość
  88. if($img_attr[0]>$img_attr[1]){
  89.         $scale = $img_attr[0] / $max_width;
  90. } else {
  91.         $scale = $img_attr[1] / $max_height;
  92. }    
  93. //Tworzymy obraz miniaturki
  94. $w = floor($img_attr[0]/$scale);
  95. $h = floor($img_attr[1]/$scale);
  96. $thumb = imagecreatetruecolor($w,$h);
  97. $image = imagecreatefromjpeg($img_path);
  98. //Kopiujemy obraz pomniejszajac go,
  99. imagecopyresampled($thumb, $image, 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]);
  100. //Zapisujemy do pliku (jakość 100)
  101. //Do wyświetlenia: dodanie przed linie imagejpeg($thumb,$thumb_path,85); linijki header('Content-type: image/jpeg');
  102. imagejpeg($thumb,$thumb_path,100);
  103. //######################################WATERMARK#####################
  104. /*function image_prepareBelka($nr){
  105.     $img_belka='img/img_belka.jpg';
  106.     $font = 'fonts/tahomabd.ttf';
  107.     $belka = imagecreatefromjpeg($img_belka);
  108.     $black = imagecolorallocate($belka, 0, 0, 0);
  109.     imagettftext($belka, 11, 0, 25, 16, $black, $font, $nr);
  110.     return $belka;
  111. }
  112.  
  113. function image_addBelka($sourcefilename,$nr,$quality=100){
  114.     $source = imagecreatefromjpeg($sourcefilename);
  115.     $belka=image_prepareBelka($nr);
  116.     $dest_x = imagesx($source) - imagesx($belka);
  117.     $dest_y = imagesy($source) - imagesy($belka);
  118.  
  119.     imagecopymerge($source, $belka, $dest_x, $dest_y, 0, 0, 250, 20, 100);
  120.     imagejpeg($source, $sourcefilename, $quality);
  121.     imagedestroy($source);
  122.     imagedestroy($belka);
  123. }
  124.  
  125. image_addBelka('UploadedFiles/'.$uniquefilename,'C02345', 150);*/
  126.  
  127. //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&  
  128.  
  129. }
  130. else
  131.  echo 'No files sent. Script is OK!'; //Say to Flash that script exists and can receive files
  132. echo '</pre>';
  133. ?>


Ten post edytował patryk9200 23.06.2009, 16:07:27
Go to the top of the page
+Quote Post

Posty w temacie
- patryk9200   [PHP] Operacje na plikach   22.06.2009, 19:04:30
- - tomsi   W pętli, która wykona się do 13 włącznie. Daj nazw...   22.06.2009, 19:09:08
- - patryk9200   Mam coś takiego: [PHP] pobierz, plaintext <?php...   22.06.2009, 20:08:13
- - collusio   [PHP] pobierz, plaintext <?phpif(count...   22.06.2009, 21:31:57
- - patryk9200   zrobiłem według twojej rady i teraz wgrywa się tyl...   22.06.2009, 22:08:45
- - collusio   może tak? [PHP] pobierz, plaintext <?phpi...   22.06.2009, 22:41:05
- - patryk9200   też tak nie działa;/   22.06.2009, 22:51:08
- - collusio   daj [PHP] pobierz, plaintext <?phpvar_dump...   22.06.2009, 23:09:10
- - patryk9200   czy current() i pos() to to samo?   22.06.2009, 23:36:06
- - erix   A chociaż chwilę pomyślałeś, żeby zerknąć do dokum...   22.06.2009, 23:38:47
- - patryk9200   nie mogę użyć var_dump($_FILES); ponieważ wyn...   22.06.2009, 23:56:31
|- - slightyboy   Cytat(patryk9200 @ 23.06.2009, 00:56...   23.06.2009, 00:00:26
- - collusio   jeszcze może tak? [PHP] pobierz, plaintext <?p...   23.06.2009, 00:18:26
- - patryk9200   otrzymałem coś takiego: array ( 'Filedata...   23.06.2009, 00:37:42
- - collusio   pokaż jak masz utworzony <object> z tym flas...   23.06.2009, 00:39:05
- - patryk9200   [HTML] pobierz, plaintext <head> ...   23.06.2009, 00:45:21
- - collusio   na sesjach [PHP] pobierz, plaintext <?phpsessio...   23.06.2009, 01:39:19
- - patryk9200   Działa wieeelkie dzięki:) Masz pomógł   23.06.2009, 01:57:14
- - collusio   Nie za ma co   23.06.2009, 02:53:16
- - patryk9200   na potrzeby strony musiałem wprowadzić trochę zmia...   23.06.2009, 16:04:46
- - erix   Cytatda może się zrobić tak, żeby zmienną $_s...   23.06.2009, 16:11:54
|- - patryk9200   Cytat(erix @ 23.06.2009, 17:11:54 ) C...   23.06.2009, 16:19:58
- - erix   A rozróżniasz zmienną od klucza tablicy? Po tym, c...   23.06.2009, 16:39:43
- - patryk9200   to jak zmienić klucz?   23.06.2009, 17:28:34
- - erix   Masz zmienić ZMIENNĄ, a nie KLUCZ. Kurs PHP, nadr...   23.06.2009, 18:29:48
- - patryk9200   przeczytałem cały http://pl.wikibooks.org/wiki/PHP...   23.06.2009, 19:12:09
- - erix   Nie tyle co z sesjami, a z tablicami. Przeczytaj ...   23.06.2009, 19:14:27


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: 4.10.2025 - 02:19