ugrás a tartalomhoz

PHP Form fájltörlés probléma

cszlak · 2011. Jún. 15. (Sze), 19.37
  1. <?php  
  2.                    
  3.         $result = mysql_query("SELECT * FROM kep");  
  4.           
  5.         while($row = mysql_fetch_array( $result )) {  
  6.          $kep$row['kepurl'];  
  7.         $kepnev$row['kepnev'];  
  8.         $id = $row['ID'];  
  9.         if($id%2==0){  
  10.         ?>  
  11.           
  12.         <table border="1" style="margin-left:20px;width:400px;float:left;">  
  13.         <tr> <th>Név</th> <th>Kép</th>  </tr>  
  14.         <form action="konyhabutor_admin.php"  method="POST" style="float:left;">  
  15.         <tr><td style="width:300px;">  
  16.         <input type="checkbox" name="torles" value=" <?php echo $kepnev; ?> " style="float:left;width:20px;">  <?php echo $kepnev; ?>  
  17.         </td><td>  
  18.         <img src=" <?php echo $kep ?> " height="100px" width="100px" align="texttop">  
  19.         </td></tr>  
  20.         </table>  
  21.         <?php  
  22.         }  
  23.         else{  
  24.         ?>  
  25.         <table border="1" style="margin-right:30px;width:400px;float:right;">  
  26.         <tr> <th>Név</th> <th>Kép</th>  </tr>  
  27.         <tr><td style="width:300px;">  
  28.         <input type="checkbox" name="torles" value=" <?php echo $kepnev ?> " style="float:left;width:20px;"> <?php echo $kepnev ?>  
  29.         </td><td>  
  30.         <img src=" <?php echo $kep ?> " height="100px" width="100px" align="texttop">  
  31.         </td></tr>  
  32.         </table>  
  33.             <?php  
  34.         }//if end  
  35.         }//while end  
  36.         ?>  
  37.         <br />  
  38.           
  39.         <input type="submit" value="Kiválasztott törlése!!!" style="height:25px;float:left;">  
  40.         </form>  
  41.                
  42.               <?php   
  43.             if (!emptyempty($_POST['torles'])) { //ha kiválasztotta  
  44.                
  45.              $kepnev_torles = $_POST['torles'];  
  46.                
  47.             $nevtorles = $filedir . "/" . $kepnev_torles;  
  48.             print ($nevtorles);  
  49.              chmod($filedir, 0666);  
  50.              if(unlink($nevtorles))  {  
  51.               $uzenet="Törlés sikerült.";  
  52.              }  
  53.              else$uzenet="Törlés sikertelen.";}  
  54.               }  
  55.               else {  
  56.               $uzenet="Nincs kiválasztva egy sem.";  
  57.               }  
  58.                 
  59.               print ($uzenet);  
  60.                   ?>   
Problémám, hogy nem törli a fájlt a következő hibaüzenetett adja ki:

Warning: unlink(kep/Konyhabutor/ 1990_224x400_Antik_eger.jpg ) [function.unlink]: Permission denied in /home/zsokakon/public_html/Admin/konyhabutor_admin.php on line 237

237 sor : if(unlink($nevtorles)){

$filedir = 'kep/Konyhabutor'; //ez így van beállítva a feltöltésnél remekül működik

több féleképp is próbálkotam már de nem sikerült.
 
1

Elérési útvonal?

cszlak · 2011. Jún. 15. (Sze), 19.56
Warning: unlink(kep/Konyhabutor/ 1990_224x400_Antik_eger.jpg )

A linkben bele írt egy szünetett, amit nem találok seholsem, hogy mi okozza, és feltételezem ez lehet a hiba tárgya.

$filedir = 'kep/Konyhabutor';
$kepnev= $row['kepnev'];

az adatbázisban nincs előtte szünet azt megnéztem.
2

value=" <?php echo $kepnev ?>

Poetro · 2011. Jún. 15. (Sze), 20.09
value=" <?php echo $kepnev ?> "
Látod itt a szóközöket?
3

látom

cszlak · 2011. Jún. 15. (Sze), 20.14
látom és levettem és akkor is ugyanaz

value="<?php print("$kepnev");?>"

most már nem írja a szünetett de még mindig hiba:
Warning: unlink(kep/Konyhabutor/1140_427x400_Cseresznye.jpg) [function.unlink]: Permission denied in /home/zsokakon/public_html/Admin/konyhabutor_admin.php on line 238
Törlés sikertelen.
5

Nincs jogod

Poetro · 2011. Jún. 15. (Sze), 20.44
Nincsen jogod letörölni az adott fájlt. Annak a felhasználónak, akinek a nevében a PHP fut, nincsen jogosultsága a fájl törléséhez.
4

Legközelebb használj

rrd · 2011. Jún. 15. (Sze), 20.43
Legközelebb használj kódszinezőt, mert így max csak tippelgetni fogunk.

A hibaüzenet azt mondja, hogy a php user (ami többnyire a nobody) nem tud törölni a kep/Konyhabutor könyvtátból. Meg kéne nézni, hogy milyen jogosultságok kapcsolódnak magához a könyvtárhoz és a benne ülő fileokhoz.
6

[colorer=chmod($filedir,

cszlak · 2011. Jún. 15. (Sze), 22.34
  1. chmod($filedir, 0666);   
direkt bele raktam, hogy ez ne legyen probléma

kiszineztem
7

Szerintem ehhez sincs joga a

H.Z. v2 · 2011. Jún. 15. (Sze), 22.35
Szerintem ehhez sincs joga a web szervernek, de nem ellenőrzöd, hogy ez sikeres volt-e.
8

A mappa át ált 0666 ra

cszlak · 2011. Jún. 15. (Sze), 22.40
A mappa át ált 0666 ra megnéztem.
9

mappa?

Poetro · 2011. Jún. 15. (Sze), 22.50
A mappák esetén inkább 0777 kellene, ugyanis, ha nincs rá execute jog, akkor nem tudsz belemenni.
10

Ott a pont!

H.Z. v2 · 2011. Jún. 15. (Sze), 23.13
Najó, nekem ehhez már késő van... :)
(bár meg kell mondjam, az ilyentől mindig égnek áll a hajam, de tudom, sok helyen nincs más lehetőség :( )
11

Köszönöm működik

cszlak · 2011. Jún. 16. (Cs), 11.04
Köszönöm működik!!

Egy kis oktatástkérhetnék erről a kódokról, hogy melyik micsoda?
Link is jó.

Még egyszer köszönöm.
12

0777

solkprog · 2011. Jún. 16. (Cs), 11.54
Jogosultságok Linux rendszerek alatt
a 0777ből a 0-át vedd figyelmen kívül az olvasás során. (a nulla a PHP miatt kell)
13

Nem!

H.Z. v2 · 2011. Jún. 16. (Cs), 13.39
A 0 azért kell, mert oktális (8-as számrendszer a gyk) értékről van szó!