Potrebna pomoć oko unlink funkcije

3

Potrebna pomoć oko unlink funkcije

offline
  • 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 Very Happy

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. Wink Bebee Dol



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • 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;



offline
  • 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.

offline
  • 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 Smile

offline
  • 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
[Link mogu videti samo ulogovani korisnici]
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. Razz

offline
  • 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

offline
  • 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. Razz 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 Razz

offline
  • 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?>

offline
  • 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 }

Ko je trenutno na forumu
 

Ukupno su 1167 korisnika na forumu :: 89 registrovanih, 9 sakrivenih i 1069 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Aleksandar Tomić, BB, bodin, Bojan198527, Borej, boxbole, Bubimir, burevestnik, Buzdovan, ccoogg123, celik, Cian, cvrle312, darkkran, darkojbn, dejanbenkovic, Dioniss, Django777, djukapfc, Doca, Dolinc, draganl, dragoljub11987, Duh16, dule10savic, Dzoni Stek, Fabius, feanor, filip1326, Folkstar, JankoS, JimmyNapoli, jnikola23, Jozo74, Kalem, kalens021, kolle.the.kid, kovinacc, Kubovac, kubura91, kuntalo, lcc, Lj_ubo, lucko1, Mackomen, menges, Mercury, mikrimaus, miljannis, Milometer, milos.cbr, milos97, misa1xx, narandzasti, nelezele, neutrino, niksa517, Paklenica, pein, pisac12, predragc, Pv123, R_038, rovac, S94, samsung, savuni, Sevetar, Shajlok, Shilok, sluga, SOVO515, Spreewerk, stalja, Stoilkovic, tamno.nebo, tecataki, Vlada1389, voja64, vukovi, Wrangler, x011, x9, YU-UKI, YugoSlav, ZlatniRez, Zoran Rapajić, Žoržo, 3987