Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Usuwanie pliku oraz uprawnienia
kkuubbaa88
post
Post #1





Grupa: Zarejestrowani
Postów: 510
Pomógł: 1
Dołączył: 27.08.2007

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


witam

na swojej aplikacji tworze folder:
  1. if (!is_dir('pliki/folder')){
  2. mkdir ('pliki/folder', 0777);
  3. }

do niego uploadowane są pliki jpg oraz wstepnie obrabiane:
  1. if(move_uploaded_file($_FILES['plik']['tmp_name'],'pliki/folder/plik.jpg')){
  2. przeskaluj();
  3. obrob():
  4. }

następnie chcę usunąć plik z folderu zwykłą funkcją unlink:
  1. unlink('pliki/folder/plik.jpg');

niestety w logach mam problem:

Permission denied

co jest trochę dziwne... dlaczego tak się dzieje ? jak to naprawić ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kkuubbaa88
post
Post #2





Grupa: Zarejestrowani
Postów: 510
Pomógł: 1
Dołączył: 27.08.2007

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


dokładnie błąd wygląda tak:

Warning: unlink(../pliki/folder/unlink.jpg) [function.unlink]: Permission denied in C:\wamp\www\var\www\strona\upload\do_2.php on line 178

czyli nic ciekawego nie daje...

co dziwne można robić upload kilku plików i za którymś razem dopiero wyskoczy takowy błąd...

po wykluczaniu przyczyn metodą prób i błędów doszedłem do tego, że funkcja unlink działa za każdym razem gdy nie będę przetwarzał wysłanego obrazka. teraz tylko pozostaje pytanie co takiego robią moje funkcje, że ów plik nie chce się później usunąć.

gdy używam ich pojedynczo to wszystko działa bez problemów. jeżeli wywołam jedną po drugiej przesłany obrazek nie będzie mógł się usunąć.

  1. function zrob_miniaturke($plik, $nowa_sz, $nowa_w, $miniaturka){
  2. $info = @getimagesize($plik);
  3. $wytnij = false;
  4. switch ($info['mime'])
  5. {
  6. case "image/gif":
  7. $plik = imagecreatefromgif($plik);
  8. break;
  9. case "image/jpeg":
  10. $plik = imagecreatefromjpeg($plik);
  11. break;
  12. case "image/png":
  13. $plik = imagecreatefrompng($plik);
  14. break;
  15. }
  16.  
  17. $plik_sz = imageSX($plik);
  18. $plik_w = imageSY($plik);
  19.  
  20. if ($plik_sz > $plik_w)
  21. {
  22. if (($plik_w/$plik_sz) == '0.75'){
  23. $miniaturka_sz=$nowa_sz;
  24. $miniaturka_w=$nowa_w;
  25. }else{
  26. $miniaturka_sz=$nowa_w*($plik_sz/$plik_w);
  27. $miniaturka_w=$nowa_w;
  28. $wytnij = true;
  29. }
  30. }
  31.  
  32. if ($plik_sz < $plik_w)
  33. {
  34. $miniaturka_sz=$nowa_sz;
  35. $miniaturka_w=$nowa_sz*($plik_w/$plik_sz);
  36. $wytnij = true;
  37. }
  38.  
  39. if ($plik_sz == $plik_w)
  40. {
  41. $miniaturka_sz=$nowa_sz;
  42. $miniaturka_w=$nowa_sz;
  43. $wytnij = true;
  44. }
  45.  
  46. $nowy_plik = ImageCreateTrueColor($nowa_sz, $nowa_w);
  47. if($wytnij){
  48. if ($miniaturka_sz > $nowa_sz){
  49. $zmienna = round((($miniaturka_sz-$nowa_sz)/2)*($plik_sz/$miniaturka_sz));
  50. $zmienna2 = $plik_sz-$zmienna*2;
  51. @imagecopyresampled($nowy_plik, $plik, 0, 0, $zmienna, 0, $nowa_sz, $nowa_w, $zmienna2, $plik_w);
  52. }elseif($miniaturka_w > $nowa_w){
  53. $zmienna = round((($miniaturka_w-$nowa_w)/2)*($plik_w/$miniaturka_w));
  54. $zmienna2 = $plik_w-$zmienna*2;
  55. @imagecopyresampled($nowy_plik, $plik, 0, 0, 0, $zmienna, $nowa_sz, $nowa_w, $plik_sz, $zmienna2);
  56. }
  57. }else{
  58. $zmienna = round((($miniaturka_w-$nowa_w)/2)*($plik_w/$miniaturka_w));
  59. $zmienna2 = $plik_w-$zmienna*2;
  60. @imagecopyresampled($nowy_plik, $plik, 0, 0, 0, $zmienna, $nowa_sz, $nowa_w, $plik_sz, $zmienna2);
  61. }
  62. @imagejpeg($nowy_plik, $miniaturka, '90');
  63. @imagedestroy($plik);
  64. @imagedestroy($nowy_plik);
  65. return TRUE;
  66. }
  67.  
  68.  
  69.  
  70. function przeskaluj_zdjecie($plik, $nowa_sz, $nowa_w, $plik_2){
  71. $info = @getimagesize($plik);
  72. switch ($info['mime'])
  73. {
  74. case "image/gif":
  75. $plik = imagecreatefromgif($plik);
  76. break;
  77. case "image/jpeg":
  78. $plik = imagecreatefromjpeg($plik);
  79. break;
  80. case "image/png":
  81. $plik = imagecreatefrompng($plik);
  82. break;
  83. }
  84.  
  85. $plik_sz = imageSX($plik);
  86. $plik_w = imageSY($plik);
  87.  
  88. if ($plik_sz > $plik_w)
  89. {
  90. if ($plik_sz > $nowa_sz){
  91. $plik_2_sz = $nowa_sz;
  92. $plik_2_w = $nowa_sz*($plik_w/$plik_sz);
  93. }else{
  94. $plik_2_sz = $plik_sz;
  95. $plik_2_w = $plik_w;
  96. }
  97. }
  98.  
  99. if ($plik_sz < $plik_w)
  100. {
  101. if ($plik_sz > $nowa_sz){
  102. $plik_2_sz = $nowa_sz;
  103. $plik_2_w = $nowa_sz*($plik_sz/$plik_w);
  104. }else{
  105. $plik_2_sz = $plik_sz;
  106. $plik_2_w = $plik_w;
  107. }
  108.  
  109. if ($plik_w > $nowa_w){
  110. $plik_2_sz = $nowa_w*($plik_sz/$plik_w);
  111. $plik_2_w = $nowa_w;
  112. }
  113. }
  114.  
  115. if ($plik_sz == $plik_w)
  116. {
  117. $plik_2_sz=$nowa_w;
  118. $plik_2_w=$nowa_w;
  119. }
  120.  
  121. $nowy_plik = ImageCreateTrueColor($plik_2_sz, $plik_2_w);
  122.  
  123. @imagecopyresampled($nowy_plik, $plik, 0, 0, 0, 0, $plik_2_sz, $plik_2_w, $plik_sz, $plik_w);
  124.  
  125. @imagejpeg($nowy_plik, $plik_2, '90');
  126. @imagedestroy($plik);
  127. @imagedestroy($nowy_plik);
  128. return TRUE;
  129. }
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 03:19