Pereiti prie turinio

PHP. Užveskite ant kelio


Rekomenduojami pranešimai

Sveiki, situacija tokia, kad aš turiu MySQL duomenų bazę, lentelę "duomenys". Jos struktūrą sudaro "id", "kiekis", "foto". Laukelis "foto" - tai foto failo pavadinimas. Įrašų su foto yra apie 1000, o serveryje foto apie 2000... Ieškau būdo kaip galėčiau ištrinti foto iš serverio, jeigu nėra įrašo su foto failo pavadinimu. Rankiniu būdu čia užsiknisimas negyvai... Programuoti moku, bet nerandu šiai problemai algoritmo. Pasiimti failo pavadinimą iš serverio, daryti MySQL užklausą, sukti ciklą ir ieškoti ar yra įrašas su failo pavadinimu ar nėra, jei nėra, trinti foto?

Nuoroda į pranešimą
Dalintis kituose puslapiuose
foreach(glob('path/to/images/*') as $path) {
   $name = str_replace('path/to/images/', '', $path);

   $sql = mysql_query("SELECT `id` FROM `duomenys` WHERE `foto` = '$name'");
   $count = mysql_num_rows($sql);

   if ($count == 0) {
       unlink($path);
   }
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose
<?php
$dbhost='localhost';
$dbuser='user';
$dbpasswd='gdfhdfh';
$dbname='dbname';
$dbcharset='utf8';
$charset="utf-8"; 
$charset2="Content-type: text/html; charset=".$charset; 
$link = mysql_connect($dbhost, $dbuser, $dbpasswd) 
   or die('Could not connect: ' . mysql_error()); 
//echo 'Connected successfully'; 
mysql_select_db($dbname) or die('Could not select database'); 

// Performing SQL query 
$query = 'SET NAMES '.$dbcharset; 
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
$query = 'SET character_set_results="'.$dbcharset.'"'; 
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 

$query = 'SELECT id, kiekis, foto FROM duomenys '; 
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
  if ($result) 
       { 


          while ($eil = mysql_fetch_array($result)) 
            { 
              $id = $eil['id'];  
               $kiekis = $eil['kiekis']; 
               $foto = $eil['foto']; 
              $failai[$foto]=true;  
            } 

       } 
if ($handle = opendir('/path/to/files')) {
   echo "Directory handle: $handle\n";
   echo "Entries:\n";

   /* This is the correct way to loop over the directory. */
   while (false !== ($entry = readdir($handle))) {
       echo "$entry\n";
if(true !==$failai[$entry]) {
unlink($entry);
echo "Delete: $entry\n";

}

}

}
   closedir($handle);
?>

Redagavo saknis
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...

<?php
$dbhost='localhost';
$dbuser='user';
$dbpasswd='gdfhdfh';
$dbname='dbname';
$dbcharset='utf8';
$charset="utf-8"; 
$charset2="Content-type: text/html; charset=".$charset; 
$link = mysql_connect($dbhost, $dbuser, $dbpasswd) 
   or die('Could not connect: ' . mysql_error()); 
//echo 'Connected successfully'; 
mysql_select_db($dbname) or die('Could not select database'); 

// Performing SQL query 
$query = 'SET NAMES '.$dbcharset; 
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
$query = 'SET character_set_results="'.$dbcharset.'"'; 
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 

$query = 'SELECT id, kiekis, foto FROM duomenys '; 
$result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
  if ($result) 
       { 


          while ($eil = mysql_fetch_array($result)) 
            { 
              $id = $eil['id'];  
               $kiekis = $eil['kiekis']; 
               $foto = $eil['foto']; 
              $failai[$foto]=true;  
            } 

       } 
if ($handle = opendir('/path/to/files')) {
   echo "Directory handle: $handle\n";
   echo "Entries:\n";

   /* This is the correct way to loop over the directory. */
   while (false !== ($entry = readdir($handle))) {
       echo "$entry\n";
if(true !==$failai[$entry]) {
unlink($entry);
echo "Delete: $entry\n";

}

}

}
   closedir($handle);
?>

Tai visgi kam to php kodo?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...