Autor | Zpráva | ||
---|---|---|---|
verča Profil * |
#1 · Zasláno: 31. 1. 2011, 10:44:10
Ahoj,
maám dotaz na mazání souborů. Vím že se tu už řešilo mnohokrát, mám tento kód, který mi maže soubory, ale problém mám v tom že ho musím mít uložen v adresáři s foto/original aby se mi něco smazalo. Chtěla bych ho ale mít v jiné úrovni společně s ostatními scripty ale pak mi to bohužel nemaže. Problém bude v té cestě ale ať tam zadám jakoukoliv tak to nemaže. Múže mi prosím někdo poradit jakou cestu tam mam mít? if(strpos($file, "../foto/original") === false && strpos($file, __FILE__) === false && is_file($file)) { unlink($file); } else { echo "Pokus o smazani selhal";echo ($file); } |
||
Radek9 Profil |
#2 · Zasláno: 31. 1. 2011, 10:48:08
verča:
Ukaž, jak to voláš. |
||
verča Profil * |
$id=$_GET["id"]; $query = "SELECT foto FROM foto WHERE id = '$id'"; $vysledek = mysql_query($query, $link) or die("SQL dotaz nešlo provézt"); while ($zaznam = mysql_fetch_array($vysledek)) { $file=$zaznam["foto"]; echo ($file); if(strpos($file, "../foto/original") === false && strpos($file, __FILE__) === false && is_file($file)) { unlink($file); } else { echo "Pokus o smazani selhal";echo ($file); } } Moderátor panther: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Radek9 Profil |
#4 · Zasláno: 31. 1. 2011, 10:55:55
verča:
Tak před to $file přidej ještě složku, ne? unlink("foto/original/".$file); |
||
verča Profil * |
#5 · Zasláno: 31. 1. 2011, 11:02:52
to mi také nejde, ale možná to dělám špatně.
Sript který to maže je v adresaři administrace na localhostu administrace/smaz.php Fotky jsou v adresari foto/original Takže by to mělo být takto ne: unlink("../foto/original/".$file); Ale to mi vypíše pokus selhal a nesmaže. |
||
Tori Profil |
#6 · Zasláno: 31. 1. 2011, 11:05:33
Má ten adresář foto/original/ správně nastavená přístupová práva? (Tedy rw pro uživatele, pod nímž běží server)
|
||
verča Profil * |
#7 · Zasláno: 31. 1. 2011, 11:08:20
je to na localhostu, tak v rom by snad problem byt nemel ne?
|
||
Tori Profil |
#8 · Zasláno: 31. 1. 2011, 11:22:10
To nesouvisí s localhost/ostrý server. Pokud jste tu složku vytvořila sama a ne skriptem, tak dost pravděpodobně z ní PHP skripty mohou jen číst, ne zapisovat. Kdybyste to chtěla ověřit skriptem, zkuste:
$dir = '../foto/original'; // upravte dle potřeby echo (is_writable($dir) ? 'chyba je jinde' : 'skript nema povoleni tady mazat'); |
||
verča Profil * |
#9 · Zasláno: 31. 1. 2011, 11:32:26
V tom chyba asi nebude, ted jsem na to zkusila použít funkci
chdir($path); unlink("../foto/original/".$file); ted to je takto a jde to: $path="../foto/original"; chdir($path); $file=$zaznam["foto"]; echo ($file); if(strpos($file, "$path") === false && strpos($file, __FILE__) === false && is_file($file)) { unlink($file); } else { echo "Pokus o smazani selhal"; } |
||
Radek9 Profil |
#10 · Zasláno: 31. 1. 2011, 11:35:07
verča:
Protože jsi ověřovala jen is_file($file). Takže je logické, že to nefungovalo. |
||
Časová prodleva: 13 let
|
0