Autor | Zpráva | ||
---|---|---|---|
verča Profil * |
#1 · Zasláno: 10. 1. 2011, 11:09:05
Ahoj mám takovýto sript pro mazání uloženého souboru. A potřebovala bych ho upravit aby mi mazal více souboru najednou. Prostě aby smazal všechny soubory z adresáře,které mají stejne zaznam_id
$id=$_GET["id"]; $query = "SELECT foto FROM foto WHERE zaznam_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/home") === false && strpos($file, __FILE__) === false && is_file($file)) { unlink($file); } else { echo "Pokus o smazani selhal"; } $vysledek=mysql_query("delete from foto where id = $id"); $path= 'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . '/../../administrace/home.php'; Header("Location:".$path); } exit; |
||
__construct Profil |
#2 · Zasláno: 10. 1. 2011, 11:17:17 · Upravil/a: __construct
Máš to rozbité.
|
||
verča Profil * |
#3 · Zasláno: 10. 1. 2011, 11:19:14
__construct:
Proč rozbité? Tohle mi normálně funguje akorát nevím jak udělat mazání více souborů... |
||
Taps Profil |
#4 · Zasláno: 10. 1. 2011, 11:45:07
verča:
podívej se na funkci http://tw2.php.net/manual/en/function.readdir.php |
||
verča Profil * |
#5 · Zasláno: 10. 1. 2011, 11:54:34
Taps:
Tak zkouším co jsi mi poradil, tím sice načtu soubory které mám v adresáři ale stejně nevím jak mám potom ty konkrétní soubory najednou vymazat |
||
Alphard Profil |
#6 · Zasláno: 10. 1. 2011, 11:58:52
verča:
Hromadné mazaní PHP nepodporuje, ale když cyklem procházíte soubory v adresáři, můžet je snadno po jednom mazat pomocí unlink(). |
||
verča Profil * |
#7 · Zasláno: 10. 1. 2011, 12:01:48
Tak jsem to myslela že bych to udělala cyklem ale bohužel sem se do toho nějak zamotala a moc nevím jak na to
|
||
Taps Profil |
#8 · Zasláno: 10. 1. 2011, 12:11:36 · Upravil/a: Taps
verča:
zkus níže uvedené. if ($handle = opendir('./'.$id)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { unlink($file); } } closedir($handle); } |
||
verča Profil * |
#9 · Zasláno: 10. 1. 2011, 12:48:17
tak sem to upravila takto viz dole ale hlásí to tuo chybu:
Warning: opendir(./mozaika 3,12x3,12.bmp) [function.opendir]: failed to open dir: No error in C:\wamp\www\sadrokartony\www\foto\home\odstranit_home.php on line 21 řádek 21 je: if ($handle = opendir('./'.$foto)) { $id=$_GET["id"]; $query = "SELECT foto FROM foto WHERE zaznam_id = '$id'"; $vysledek = mysql_query($query, $link) or die("SQL dotaz nešlo provézt"); while ($zaznam = mysql_fetch_array($vysledek)) { $foto=$zaznam['foto']; if ($handle = opendir('./'.$foto)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { unlink($file); } } closedir($handle); } $path= 'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . '/../../administrace/home.php'; Header("Location:".$path); } exit; |
||
Taps Profil |
#10 · Zasláno: 10. 1. 2011, 12:57:41
verča:
ta chyba signalizuje špatně zadanou cestu k adresáři $foto. Zkus smazat tečku |
||
xmark Profil |
#11 · Zasláno: 10. 1. 2011, 12:59:57
verča:
„if ($file != "." && $file != "..") {“ Ještě napůl spím, ale nepatří tam spíš !== ? |
||
__construct Profil |
#12 · Zasláno: 10. 1. 2011, 13:06:33 · Upravil/a: __construct
Taps:
„ta chyba signalizuje špatně zadanou cestu k adresáři $foto. Zkus smazat tečku“ Skús si ešte raz prečítať tú chybovú hlášku a opraviť sa - opendir(./mozaika 3,12x3,12.bmp);
Funkciou opendir() ťažko vytvorí handler na adresár, ak mu ako parameter dá súbor.
xmark: „Ještě napůl spím, ale nepatří tam spíš !== ?“ Prečo by si chcel ešte overovať typ premennej? |
||
Časová prodleva: 13 let
|
0