ugrás a tartalomhoz

FTP-n nem törölhető a könyvtár

PredMan · 2009. Május. 4. (H), 12.18
Sziasztok!

kb 3 hónapja írtam PHP-ban egy képfeltöltő szkriptet, ami úgy működik, hogy a felhasználó egyszerre több képet is feltölthet. Ezeket először egy ideiglenes könyvtárba tölti (véletlenszerű nevet adok neki, persze spéci karakterek nélkülit), majd megvizsgálja, hogy a képek megfelelnek-e az elvárásoknak. Ha megfelel, akkor rename() függvénnyel áthelyezi a végleges könyvtárba és végül törli az ideiglenes mappát.

Na most ez idáig tökéletesen működött, most is szépen működik, viszont történt egy olyan eset, hogy valaki feltöltött magáról képeket, létrejött az ideiglenes mappa és vannak is benne képek, tehát valszeg megszakíthatta a feltöltést vagy nemtom... és ez az ideiglenes mappa nem törlődött le és még manuálisan sem tudom letörölni sőt, még a mappa jogosultságát sem tudom állítani.

Ha a benne lévő képeket törölni szeretném, ezt dobja a Totalcommander: "nem törölhető fájl: xy.jpg"

Ha a mappa jogosultságát szeretném átállítani, akkor ezt dobja: "nem cserélhető a távoli fájl attributuma"

érdekessége az egésznek az, hogy ha kijelölöm ezt az ideiglenes mappát és úgy nyomok a törlés gombra, akkor nem ír ki hibát, végigfut a fájlokon, de nem törli ki őket.

megnéztem, hátha van .htaccess fájl a könyvtárban, de nincs. Próbaképp megpróbáltam ebbe a törölhetetlen mappába fájlt feltölteni és egy alkönyvtárat is létrehozni, de nem engedi: "átviteli hiba! folytatod?"

nem hinném, hogy a kóddal lenne a hiba, mert most is tökéletesen működik, töltögetnek szépen képeket a mukik és az ideiglenes mappák is szépen törlődnek. Ilyenkor mi van? a szolgáltatónál kéne érdeklődni?

és ami még érdekes, hogy átnevezni engedte ezt az ideiglenes mappát, csak éppen semmi mást nem enged.

remélem tapasztaltatok már ilyet!

köszi
 
1

uid, gid

bonga · 2009. Május. 4. (H), 12.52
Igen, ez tipikusan jellemző olyan esetekben, amikor az ftp-vel belépett user más uid-t kap, mint amivel a webszerver fut. Ilyenkor van az, hogy amit ftp-vel feltöltesz, azt a php nem tudja törölni és amit a php hoz létre, azt ftp-vel nem lehet törölni. Megoldásként írj egy rövid php script-et, ami törli az összes fájlt az átmeneti könyvtáradból, majd magát a könyvtárat is: ha php-ból lett létrehozva, a php-nek lesz joga törölni is.
3

értem, de...

PredMan · 2009. Május. 4. (H), 13.06
Megoldásként írj egy rövid php script-et, ami törli az összes fájlt az átmeneti könyvtáradból, majd magát a könyvtárat is

bármint a feltöltés után?

írtam ilyen szkriptet, feltöltés után ez életbe is lép, illetve ha a feltöltés során hibát talál a szkript, akkor elősször kitörli az ideiglenes mappa tartalmát, majd utána törli magát a mappát. Na itt az érdekesség, hogy ez a törlő függvény nem lépett életbe valami oknál fogva, gondolom megszakadt a feltöltés vagy nemtom. De hogy ez miért akasztja ki a könyvtárat, nem értem.

oké, a winscp-t kipróbálom.
5

általános törlő szkript..

szabo.b.gabor · 2009. Május. 4. (H), 13.47
phpból mennie kell a törlésnek. a könyvtárak azért maradtak fent, mert megszakadt a programod futása valamiért.

csináld meg úgy a törlő szkriptedet, hogy a 'saját tmp' mappáján kívül törölje az összes többit is, ami már elég öreg ahhoz, hogy biztonsággal törölhető legyen (nem egy másik aktuális feltöltéshez tartozik).

így ha egy-egy feltöltésnél el is szállna a dolog, egy későbbi sikeres feltöltés elvégzi a piszkos munkát ;)
6

és tényleg!

PredMan · 2009. Május. 4. (H), 14.15
phpból mennie kell a törlésnek

ráküldtem egy törlő szkriptet és lőőn eltünt a szerverről :) mindenesetre érdekes, hogy csak PHP-al sikerült és mással nem.

köszi srácok!
7

érdekes?

gex · 2009. Május. 4. (H), 14.24
mindenesetre érdekes
de hát el is magyarázták neked...
2

Te vagy a könyvtár tulajdonosa?

s_volenszki · 2009. Május. 4. (H), 12.59
Nézd meg a könyvtár adatainál (nem tudom, hogy TC tudja-e, én gFtp-t használok de windows-on a filezilla is tudja), hogy ki a könyvtár tulajdonosa.

Egyébként meg próbáld meg másfajta klienssel, mondjuk WinSCP vagy sftp törölni a könyvtárat, vagy attribútumot olvasni/írni.

s_volenszki
4

feltelepítettem a filezillát és ...

PredMan · 2009. Május. 4. (H), 13.42
ugyan úgy nem lehet letörölni a könyvtárat. Megnéztem a tulajdonost (gondolom az Owner az, egyébként a TC is mutatja), ugyanazt írja tulajnak, mint a többinél, tehát elvileg ez nem lehet a gond. Próbáltam mellette könyvtárakat létrehozni különböző nevekkel, működik minden, a törlés is, de ez a könyvtár egyszerüen sebezhetetlen :D mintha megsérült volna, ilyet még nem láttam :)

írok a szolgáltatónak, nincs jobb ötletem. Egyébként sok vizet nem zavar az a könyvtár, de mégis idegesít, hogy nem tudom törölni. Aztán meg közel se biztos, hogy ez volt az utolsó eset...