| 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: 15 let
|
|||
0
).