Poslao: 28 Mar 2011 17:39
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Probaj ovako:
Izlistaj sve slike iz direktorijuma
if ($Result1) {
$ekstenzije = array('jpg','png'); //Nalazi JPG i PNG fajlove
$files = array();
$dir = opendir("../imgs/$colname_slike/");
$count=0;
$debug = "";
while( ($file = readdir($dir)) != false )
{
echo $file;
$debug.="\n".$file;
}
closedir($dir);
?><textarea style="width:600;height:450px;">Brisem:<?=$debug?></textarea><?php }
Dakle zameni onaj moj prethodni kod sa ovim gde bi trebalo da se prikažu sve slike iz izabranog dir u textarea polju. Prvo vidi da li to radi ok.
EDIT:
Totalno trivijalna greška
u onom mom kodu nadji:
unlink($file);
i zameni sa:
unlink("../imgs/$colname_slike/".$file);
Za unlink funkciju nismo odredili tačnu putanju, već samo imena fajlova.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 28 Mar 2011 18:14
|
offline
- hnenad
- Građanin
- Pridružio: 30 Avg 2008
- Poruke: 91
|
Pokušao sam sa drugom scriptom tu mi izbacuje grešku
Folder: Klikni ovde | colname_slike = 558(ovaj deo i dalje radi)
Warning: unlink(1.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(1_resize.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(2.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(2_resize.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(3.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(3_resize.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(4.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(4_resize.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(5.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(5_resize.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(6.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
Warning: unlink(6_resize.jpg) [function.unlink]: No such file or directory in C:\wamp\www\administracija\delete.php on line 69
echo "Folder: <a href='../imgs/".$_GET['id']."'>Klikni ovde</a> | <b>colname_slike</b> = $colname_slike";
// Specify Directory where images are
$dir = "../imgs/$colname_slike";
// open specified directory
$dirHandle = opendir($dir);
// Create incremental counter variable
$count = 0;
// Initialize a var for the gallery output
$returnstr = "";
// echo "<table width=\"75\" border=\"0\">";
// if not a subdirectory and if filename contains the string '.jpg'
while ($file = readdir($dirHandle)) {
// if is not a folder
if(!is_dir($file)) {
unlink($file);
}
}
// close the open directory
closedir($dirHandle);
// output the gallery files
echo $returnstr;
|
|
|
|
Poslao: 28 Mar 2011 18:21
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Zameni
unlink($file);
sa
unlink($dir."/".$file);
Note: ovaj tvoj kod je veoma sličan sa onim mojim gore s tim što briše sve fajlove a ne samo JPG ili PNG.
|
|
|
|
Poslao: 28 Mar 2011 18:25
|
offline
- hnenad
- Građanin
- Pridružio: 30 Avg 2008
- Poruke: 91
|
Ovo što si predložio izbacuje grešku
Warning: readdir(): 6 is not a valid Directory resource in
C:\wamp\www\administracija\delete.php on line 68
while( ($file = readdir($dir)) != false )
Warning: closedir(): 6 is not a valid Directory resource in C:\wamp\www\administracija\delete.php on line 76
closedir($dir);
i onaj deo echo $files na početku while izbaci slike ali ovako
...1.jpg1_resize.jpg2.jpg2_resize.jpg3.jpg3_resize.jpg4.jpg4_resize.jpg5.jpg5_resize.jpg6.jpg6_resize.jpg
dobro sad bar imamo greške
|
|
|
|
Poslao: 28 Mar 2011 18:35
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Pa ništa nisam promenio vezano za čitanje direktorijuma već samo za putanju za brisanje fajlova kod onog tvog koda.
Ovu grešku ti izbacuje jer ne postoji folder sa slikama:
imgs/ID/
Ne znam sada o kom kodu pričaš: ovom tvom iznad
mycity.rs/PHP/Potrebna-pomoc-oko-unlink-funkcije_2.html#1142673
Ili onom mom...pošto sam ti ja predložio rešenje za ovaj tvoj kod, a ti si izgleda stavio taj kod gore u moj primer pa ti izbacuje tu grešku.
|
|
|
|
Poslao: 28 Mar 2011 18:44
|
offline
- hnenad
- Građanin
- Pridružio: 30 Avg 2008
- Poruke: 91
|
Napisano: 28 Mar 2011 18:42
U pa ovo radi
hvala što si proveo ceo dan sa rešavanjem tuđih problema
evo šaljem kod ako nekome zatreba
if ($Result1) {
echo "Folder: <a href='../imgs/".$_GET['id']."'>Klikni ovde</a> | <b>colname_slike</b> = $colname_slike";
// Specify Directory where images are
$dir = "../imgs/$colname_slike";
// open specified directory
$dirHandle = opendir($dir);
// Create incremental counter variable
$count = 0;
// Initialize a var for the gallery output
$returnstr = "";
// echo "<table width=\"75\" border=\"0\">";
// if not a subdirectory and if filename contains the string '.jpg'
while ($file = readdir($dirHandle)) {
// if is not a folder
if(!is_dir($file)) {
unlink($dir."/".$file);
}
}
// close the open directory
closedir($dirHandle);
// output the gallery files
echo $returnstr;
?></textarea><?php }
Dopuna: 28 Mar 2011 18:44
Moram da priznam da se sada osećam puno bolje, hvala još jednom
|
|
|
|
Poslao: 28 Mar 2011 18:46
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Ja bih ti ipak predložio onaj moj kod gore jer on radi samo ako prvo izbrišeš podatke u bazi . Kod tvog koda, ako kojim slučajem upit fail-uje, opet će izbrisati fajlove bez obzira što nisu izbrisani u bazi podataka.
EDIT: sad vidim da si promenio kod...i radi samo kada je upit ok. Inače, onaj </textarea> na kraju ti ne treba koliko vidim.
Takođe, moj kod briše fajlove samo sa određenim ekstenzijama, a ne sve.
Inače, drago mi je da ti je pomoglo, ja ionako radim na nekom projektu pa pravim mini pauze da pišem ovde
|
|
|
|
Poslao: 28 Mar 2011 19:06
|
offline
- hnenad
- Građanin
- Pridružio: 30 Avg 2008
- Poruke: 91
|
ako sam dobro shvatio tvoj kod izgleda ovak
if ($Result1) {
$ekstenzije = array('jpg','png'); //Nalazi JPG i PNG fajlove
$files = array();
$dir = opendir("../imgs/$colname_slike/");
$count=0;
$debug = "";
while( ($file = readdir($dir)) != false )
{
echo $file;
$debug.="\n".$file;
while( ($file = readdir($dir)) != false )
{
if( !is_dir($file) && !in_array($file,array('.','..')) && in_array(substr($file,strrpos($file,'.')+1),$ekstenzije) )
{
if (file_exists($file))
{$count++; $debug.= "\n$count | $file"; unlink("../imgs/$colname_slike/".$file); }
}
}
closedir($dir);
}
?><textarea style="width:600;height:450px;">Brisem:<?=$debug?></textarea><?php }
Warning: readdir(): 6 is not a valid Directory resource in C:\wamp\www\administracija\delete.php on line 61
while( ($file = readdir($dir)) != false )
Brisem:<?=$debug?>
mi izbacuje
Brisem:<?=$debug?>
|
|
|
|
Poslao: 28 Mar 2011 19:18
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Isključen ti je short_open_tag u php.ini.
Ovaj kod gore nije moj (imaš 2 while petlje). Mislim da bi kod trebalo da izgleda ovako:
if ($Result1) {
$ekstenzije = array('jpg','png'); //Nalazi JPG i PNG fajlove
$files = array();
$putanja = "../imgs/$colname_slike/";
$dir = opendir($putanja);
$count=0;
$debug = "";
while( ($file = readdir($dir)) != false )
{
if( !is_dir($file) && !in_array($file,array('.','..')) && in_array(substr($file,strrpos($file,'.')+1),$ekstenzije) )
{
if (file_exists($putanja.$file))
{$count++; $debug.= "\n$count | $file"; unlink($putanja.$file); }
}
}
closedir($dir);
?><textarea style="width:600;height:450px;">Brisem:<?php echo $debug; ?></textarea><?php }
|
|
|
|