Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [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
tomsi
post
Post #2





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


W pętli, która wykona się do 13 włącznie. Daj nazwę plik i dołącz do niej zmienną, która będzie przechowywała numer wykonania pętli.

http://forum.php.pl/index.php?showtopic=22...mp;#entry134736


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
patryk9200
post
Post #3





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

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


Mam coś takiego:
  1. <?php
  2. for($i=0; $i<13; $++)
  3. {
  4. $filename = 'plik'.$i;
  5. $$filename;
  6. }
  7. ?>

co z tego mojego mam tu wstawić?? tzn. tak żeby każdy z plików miał inną nazwę?,



Mam pytanie, z tego co zauważyłem to ten kod nie odbiera wszystkich plików jednocześnie tylko odbiera jeden co oznaczało by, że jest wywoływany tyle razy ile jest plików tak?

jeśli jest wywoływane kilkakrotnie to może użyć sesji do zapamiętania danych?

Czy może mi ktoś to opisać i/ lub wyjaśnić jak to działa?
  1. <?php
  2. if(count($_FILES) > 0)
  3. {
  4.    $arrfile = pos($_FILES);
  5.    $uploadfile = $uploaddir . iconv("UTF-8", $target_encoding,basename($arrfile['name']));
  6.    if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  7.       echo "File is valid, and was successfully uploaded.\n";
  8. }
  9. ?>
Go to the top of the page
+Quote Post
behu
post
Post #4





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


  1. <?php
  2. if(count($_FILES) > 0)
  3. {
  4.    $arrfile = pos($_FILES);
  5.    $uploadfile = $uploaddir . iconv("UTF-8", $target_encoding,basename($arrfile['name']));
  6.    if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  7.       echo "File is valid, and was successfully uploaded.\n";
  8. }
  9. ?>


zamień na
  1. <?php
  2. $t=1;
  3. if(count($_FILES) > 0)
  4. {
  5.    $arrfile = pos($_FILES);
  6.    $e = explode(".", $arrfile['name']);
  7.    $extension = $e[count($e)-1];
  8.  
  9.    $uploadfile = $uploaddir . 'plik' . $t . '.' . $extension;
  10.    if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  11.       echo "File is valid, and was successfully uploaded.\n";
  12.    $t++;
  13. }
  14. ?>


Ten post edytował collusio 22.06.2009, 21:33:04


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
patryk9200
post
Post #5





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

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


zrobiłem według twojej rady i teraz wgrywa się tylko 1 plik o nazwie plik1 i tyle... a reszty nie ma... czy możliwe jest że skrypt jest wywoływany do każdego pliku osobno?

System uploadu nazywa się: MultiPowUpload 1.7
Go to the top of the page
+Quote Post
behu
post
Post #6





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


może tak?

  1. <?php
  2. if(count($_FILES) > 0){
  3. $t=1;
  4.    foreach($_FILES as $arrfile){
  5.        $e = explode(".", $arrfile['name']);
  6.        $extension = $e[count($e)-1];
  7.  
  8.        $uploadfile = $uploaddir . 'plik' . $t . '.' . $extension;
  9.        if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  10.            echo "File is valid, and was successfully uploaded.\n";
  11.        $t++;
  12.    }
  13. }
  14. ?>



najlepiej daj przed pętlą to i pokaż co Ci wyrzuca:
  1. <?php
  2. var_dump($_FILES);
  3. ?>


Ten post edytował collusio 22.06.2009, 22:50:18


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
patryk9200
post
Post #7





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

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


też tak nie działa;/
Go to the top of the page
+Quote Post
behu
post
Post #8





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


daj
  1. <?php
  2. var_dump($_FILES);
  3. ?>


przed tą pętlą i pokaż co Ci wyświetli

Ten post edytował collusio 22.06.2009, 23:09:48


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
patryk9200
post
Post #9





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

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


czy current() i pos() to to samo?
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A chociaż chwilę pomyślałeś, żeby zerknąć do dokumentacji...?

Tam jest napisane, jakie "relacje panują" między funkcjami. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
patryk9200
post
Post #11





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

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


nie mogę użyć var_dump($_FILES); ponieważ wynik działania nie jest dla mnie widoczny przez przeglądarkę, wynik idzie do mojego systemu ładowania plików który jest w flash....

W dokumentacji znalazłem coś takiego:
PHP has built-in methods to receive uploaded files. You can read more about this here.

da się może zawartość var_dump($_FILES); zapisać w zmiennej sesyjnej?
bo wtedy bym mógł odczytać to z innego pliku...


a da się odbiór tych plików w inny sposób napisać?
Go to the top of the page
+Quote Post
slightyboy
post
Post #12





Grupa: Zarejestrowani
Postów: 52
Pomógł: 12
Dołączył: 12.07.2007

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


Cytat(patryk9200 @ 23.06.2009, 00:56:31 ) *
da się może zawartość var_dump($_FILES); zapisać w zmiennej sesyjnej?
bo wtedy bym mógł odczytać to z innego pliku...
Nie, ale możesz skorzystać z var_export" title="Zobacz w manualu PHP" target="_manual.

Ja proponowałbym zapisać wynik tej funkcji do pliku np.:

  1. <?php
  2.  file_put_contents( 'nazwapliku.dat', var_export($Variable, true) );
  3. ?>

Potem wystarczy tylko stworzony plik otworzyć.

Ten post edytował slightyboy 23.06.2009, 00:02:05
Go to the top of the page
+Quote Post
behu
post
Post #13





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


jeszcze może tak?

  1. <?php
  2. $t=1;
  3. while($arrfile = current($_FILES)){
  4.    $e = explode(".", $arrfile['name']);
  5.    $extension = $e[count($e)-1];
  6.  
  7.    $uploadfile = $uploaddir . 'plik' . $t . '.' . $extension;
  8.    if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  9.        echo "File is valid, and was successfully uploaded.\n";
  10.    next($_FILES);
  11.    $t++;
  12. }
  13. ?>



poza tym, zależy jak wygląda formularz do upload'u plików, bo inaczej będzie w takim przypadku (przekazywanie do tablicy plik[]):
  1. <?php
  2. (...)
  3. <input name="plik[]" type="file" /><br />
  4. <input name="plik[]" type="file" /><br />
  5. (...)
  6. ?>


a inaczej w takim przypadku (osobno plik1 i plik2):
  1. <?php
  2. (...)
  3. <input name="plik1" type="file" /><br />
  4. <input name="plik2" type="file" /><br />
  5. (...)
  6. ?>


Ten post edytował collusio 23.06.2009, 00:25:53


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
patryk9200
post
Post #14





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

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


otrzymałem coś takiego:
array (
'Filedata' =>
array (
'name' => '41058.jpg',
'type' => 'application/octet-stream',
'tmp_name' => '/tmp/phpjFQqFr',
'error' => 0,
'size' => 30167,
),
)

Tak więc skrypt odbiera pliki pojedynczo tak?
Jak w takim razie zrobić żeby pliki miały nazwy po kolei??
czy można jakoś do tego użyć sesji??

tak też w ogóle pliki się nie wgrywają...hmm...

Raczej z tego co zauważyłem to osobno plik1 i plik2...,
nie mam jak podglądnąć kodu bo jest w .swf (flash)

Udało mi się zdekompilować plik swf ale jest zbyt dużo kodu żeby go tu umieścić, tu są setki linii kodu...
Go to the top of the page
+Quote Post
behu
post
Post #15





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


pokaż jak masz utworzony <object> z tym flashem, może tam trzeba coś ustawić?


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
patryk9200
post
Post #16





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

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


  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2. <title>..::.pl>>>Dadawanie zdjęć::..</title>
  3. <link rel="Stylesheet" type="text/css" href="'.$thmdefault.'" />
  4. <OBJECT id="FlashFilesUpload" codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
  5. width="450" height="500" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" VIEWASTEXT>
  6. <!-- Replace symbols " with the &quot; at all parameters values and
  7. symbols "&" with the "%26" at URL values or &amp; at other values!
  8. The same parameters values should be set for EMBED object below. -->
  9. <PARAM NAME="FlashVars" VALUE="uploadUrl=uploadfiles.php?q=2
  10. &buttonBackgroundColor=#9999FF
  11. &buttonBorderColor=#3300CC
  12. &useExternalInterface=Yes
  13. &removeUploadedFilesOnCancel=Yes
  14. &showLink=No
  15. &alertAboutOldversion=No
  16. &maxFileSize=524288
  17. &maxFileCount=13
  18. &maxFileSizeTotal=3145728
  19. &fileTypes=*.jpg|*.JPG|*.JPEG|*.jpeg
  20. &labelUploadText=Zaznacz pliki do wgrania
  21. &uploadButtonText=Wgraj
  22. &browseButtonText=Przeglądaj...
  23. &removeButtonText=Usuń plik
  24. &clearListButtonText=Wyczyść listę
  25. &progressMainText=<PERCENT>%25 Wgrano (<FILESNUM> zdjęć)<PART2DIV><BR>Prędkość transferu: <RATEVALUE>/sec<BR>Do końca: <LEFTMIN> min <LEFTSEC> sek.
  26. &progressUploadCompleteText=Wgrywanie ukończone!
  27. &progressUploadingText=Wgrywanie...
  28. &progressUploadCanceledText=Wgrywanie następnego pliku zostało anulowane.Czekaj...
  29. &progressUploadStoppedText=Wgrywanie zatrzymane
  30. &cancelButtonText=Anuluj
  31. &totalSizeText=Maksymalny rozmiar pliku <SIZE>
  32. &fileSizeExceedMessage=Tylko pliki mniejsze niż <MAXFILESIZE> Kb są dozwolone. <COUNTINVALIDFILES> pliki zostały zignorowane!
  33. &fileSizeTotalExceedMessage=Łączna wielkość plików powinna był mniejsza niż: <MAXFILESIZETOTAL> Kb. <COUNTINVALIDFILES>pliki zostały zignorowane!
  34. &filesCountExceedMessage=Tylko <MAXFILECOUNT> plików można załadować! <COUNTINVALIDFILES>pliki zostały zignorowane!
  35. &zeroSizeMessage=<COUNTINVALIDFILES> pliki o zerowej wielkości były ignorowane!
  36. &fileTypeWrongMessage=Tylko pliki graficzne typu: <FILETYPES> są dozwolone do wgrania! <COUNTINVALIDFILES>pliki zostały zignorowane!
  37. &retryDialogCaption=ponowić ładowanie?
  38. &retryDialogMessage=Niektóre pliki nie zostały wysłane. Czy chcesz je wysłać ponownie?
  39. &retryDialogYesLabel=Tak
  40. &retryDialogNoLabel=Nie
  41. &sortByNameLabel=Sortuj według nazwy
  42. &sortBySizeLabel=Sortuj według rozmiaru
  43. &sortByDateLabel=Sortuj według daty
  44. &clearListButtonX=345
  45. &filesListWidth=445
  46. &filesListHeight=380
  47. &uploadButtonY=455
  48. &progressBarY=445
  49. &labelInfoY=450">
  50. <PARAM NAME="BGColor" VALUE="#F8F6E6">
  51. <PARAM NAME="Movie" VALUE="ElementITMultiPowUpload1.7.swf">
  52. <PARAM NAME="Src" VALUE="ElementITMultiPowUpload1.7.swf">
  53. <PARAM NAME="WMode" VALUE="Window">
  54. <PARAM NAME="Play" VALUE="-1">
  55. <PARAM NAME="Loop" VALUE="-1">
  56. <PARAM NAME="Quality" VALUE="High">
  57. <PARAM NAME="SAlign" VALUE="">
  58. <PARAM NAME="Menu" VALUE="-1">
  59. <PARAM NAME="Base" VALUE="">
  60. <PARAM NAME="AllowScriptAccess" VALUE="always">
  61. <PARAM NAME="Scale" VALUE="ShowAll">
  62. <PARAM NAME="DeviceFont" VALUE="0">
  63. <PARAM NAME="EmbedMovie" VALUE="0">
  64. <PARAM NAME="SWRemote" VALUE="">
  65. <PARAM NAME="MovieData" VALUE="">
  66. <PARAM NAME="SeamlessTabbing" VALUE="1">
  67. <PARAM NAME="Profile" VALUE="0">
  68. <PARAM NAME="ProfileAddress" VALUE="">
  69. <PARAM NAME="ProfilePort" VALUE="0">
  70.  
  71. <!-- Embed for Netscape,Mozilla/FireFox browsers support. Flashvars parameters are the same.-->
  72. <!-- Replace symbols " with the &quot; at all parameters values and
  73. symbols "&" with the "%26" at URL values or &amp; at other values! -->
  74. <embed bgcolor="#F8F6E6" id="EmbedFlashFilesUpload" src="ElementITMultiPowUpload1.7.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="450" height="500"
  75. flashvars="uploadUrl=uploadfiles.php?q=2
  76. &buttonBackgroundColor=#9999FF
  77. &buttonBorderColor=#3300CC
  78. &useExternalInterface=Yes
  79. &removeUploadedFilesOnCancel=Yes
  80. &showLink=No
  81. &alertAboutOldversion=No
  82. &maxFileSize=524288
  83. &maxFileCount=13
  84. &maxFileSizeTotal=3145728
  85. &fileTypes=*.jpg|*.JPG|*.JPEG|*.jpeg
  86. &labelUploadText=Zaznacz pliki do wgrania
  87. &uploadButtonText=Wgraj
  88. &browseButtonText=Przeglądaj...
  89. &removeButtonText=Usuń plik
  90. &clearListButtonText=Wyczyść listę
  91. &progressMainText=<PERCENT>%25Wgrano (<FILESNUM> zdjęć)<PART2DIV><BR>Prędkość transferu: <RATEVALUE>/sec<BR>Do końca: <LEFTMIN> min <LEFTSEC> sek.
  92. &progressUploadCompleteText=Wgrywanie ukończone!
  93. &progressUploadingText=Wgrywanie...
  94. &progressUploadCanceledText=Wgrywanie następnego pliku zostało anulowane.Czekaj...
  95. &progressUploadStoppedText=Wgrywanie zatrzymane
  96. &cancelButtonText=Anuluj
  97. &totalSizeText=Maksymalny rozmiar pliku <SIZE>
  98. &fileSizeExceedMessage=Tylko pliki mniejsze niż <MAXFILESIZE> Kb są dozwolone. <COUNTINVALIDFILES> pliki zostały zignorowane!
  99. &fileSizeTotalExceedMessage=Łączna wielkość plików powinna być mniejsza niż: <MAXFILESIZETOTAL> Kb. <COUNTINVALIDFILES>pliki zostały zignorowane!
  100. &filesCountExceedMessage=Tylko <MAXFILECOUNT> plików można załadować! <COUNTINVALIDFILES>pliki zostały zignorowane!
  101. &zeroSizeMessage=<COUNTINVALIDFILES> pliki o zerowej wielkości były ignorowane!
  102. &fileTypeWrongMessage=Tylko pliki graficzne typu: <FILETYPES> są dozwolone do wgrania! <COUNTINVALIDFILES>pliki zostały zignorowane!
  103. &retryDialogCaption=ponowić ładowanie zdjęć?
  104. &retryDialogMessage=Niektóre pliki nie zostały wysłane. Czy chcesz je wysłać ponownie?
  105. &retryDialogYesLabel=Tak
  106. &retryDialogNoLabel=Nie
  107. &sortByNameLabel=Sortuj według nazwy
  108. &sortBySizeLabel=Sortuj według rozmiaru
  109. &sortByDateLabel=Sortuj według daty
  110. &clearListButtonX=345
  111. &filesListWidth=445
  112. &filesListHeight=380
  113. &uploadButtonY=455
  114. &progressBarY=445
  115. &labelInfoY=450">
  116. </embed>
  117. </OBJECT>


tak to wygląda:
http://www.autos24.pl/upload.html

Ten post edytował patryk9200 23.06.2009, 00:42:02
Go to the top of the page
+Quote Post
behu
post
Post #17





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


na sesjach
  1. <?php
  2. if(!isset($_SESSION['ktory']))
  3.    $_SESSION['ktory'] = 0;
  4. echo 'Upload result:<br>'; // At least one symbol should be sent to response!!!
  5.  
  6. $uploaddir = dirname($_SERVER['SCRIPT_FILENAME'])."/UploadedFiles/";
  7.  
  8. echo '<pre>';
  9. if(count($_FILES) > 0)
  10. {
  11.   $arrfile = pos($_FILES);
  12.   $e = explode(".", $arrfile['name']);
  13.   $extension = $e[count($e)-1];
  14.  
  15.  
  16.   $_SESSION['ktory']++;
  17.   $uploadfile = $uploaddir . 'plik' . $_SESSION['ktory'] . '.' . $extension;
  18.   if (move_uploaded_file($arrfile['tmp_name'], $uploadfile))
  19.      echo "File is valid, and was successfully uploaded.\n";
  20.      
  21.   if($_SESSION['ktory']==13){
  22.           $_SESSION['ktory'] = 0;
  23.        //lub session_destroy();
  24.   }
  25. }
  26. else
  27.   echo 'No files sent. Script is OK!'; //Say to Flash that script exists and can receive files
  28.  
  29. echo '</pre>';
  30. ?>


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
patryk9200
post
Post #18





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

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


Działa wieeelkie dzięki:) Masz pomógłwinksmiley.jpg
Go to the top of the page
+Quote Post
behu
post
Post #19





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


Nie za ma co winksmiley.jpg


--------------------
Freelancer - [C#, PHP, MySQL, xHTML, CSS]
michal.schweichler [at] gmail.com
http://www.elance.com/s/michal_schweichler/
Go to the top of the page
+Quote Post
patryk9200
post
Post #20





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

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

 



RSS Aktualny czas: 20.08.2025 - 07:12