Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560

    rimuovere tutte le foto dalla directory

    mi cancella(nella directory) solo l'ultima foto inserita nella tabella photos e non tutte, come mai?

    Codice PHP:
    <?php

    //fetch photo name

    $colname_photo "-1";
    if (isset(
    $_GET['id'])) {
      
    $colname_photo = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
    }

    mysql_select_db($database_myconn$myconn);
    $query_photo sprintf("SELECT * FROM photos WHERE ptid = %s"$colname_photo);
    //echo $query_photo;
    $photo mysql_query($query_photo$myconn) or die(mysql_error());
    $row_photo mysql_fetch_assoc($photo);
    $totalRows_photo mysql_num_rows($photo);

    $fname $row_photo['location'];

    function 
    GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
    {
      
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

      switch (
    $theType) {
        case 
    "text":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;    
        case 
    "long":
        case 
    "int":
          
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case 
    "double":
          
    $theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
          break;
        case 
    "date":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;
        case 
    "defined":
          
    $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
          break;
      }
      return 
    $theValue;
    }

      
    mysql_select_db($database_myconn$myconn);
    /*
    //fetch member id from email
    $sql = "select id from members where email = '" . $_SESSION['MM_Username'] . "'";
    echo $sql;
    $mid = mysql_query($sql,$myconn) or die(mysql_error());
    $array = mysql_fetch_assoc($mid);
    $id = $array['id'];
    */

    if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
      
    $deleteSQL2 "DELETE FROM photos WHERE ptid=".$_REQUEST['id'];
    //echo $deleteSQL;
    //die();
      
    mysql_select_db($database_myconn$myconn);
      
    $Result2 mysql_query($deleteSQL2$myconn) or die(mysql_error());
      
      
    $deleteGoTo2 "a_index.php?id=".$_REQUEST['id'];
      
    header(sprintf("Location: %s"$deleteGoTo2));
    }

    //delete photos from file
    unlink('admin/photos/uploads/'.$fname);
    unlink('admin/photos/uploads/thumbs/tn_'.$fname);
    unlink('admin/photos/uploads/small_thumbs/tn_'.$fname);

    if ((isset(
    $_GET['id'])) && ($_GET['id'] != "")) {
      
    $deleteSQL sprintf("DELETE FROM items WHERE id=%s",
                           
    GetSQLValueString($_GET['id'], "int")) . " and mid = " $_SESSION['memberID'];
    //echo $deleteSQL;
      
    $Result1 mysql_query($deleteSQL$myconn) or die(mysql_error());

      
    $deleteGoTo "a_index.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $deleteGoTo .= (strpos($deleteGoTo'?')) ? "&" "?";
        
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
      }
      
    header(sprintf("Location: %s"$deleteGoTo));
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    up

  3. #3
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    nella tabella photos ho 2 foto inserite:

    id ptype ptid location
    61 ITEMS 125 6058.jpg
    60 ITEMS 125 3482785.jpg


    id=60 e id=61

    ptid è relazionato con il campo id della tabella items

    se clicco sul pulsante rimuovi e rimuovo l'id 125 nella tabella items dovrebbe rimuovermi tutte e due le foto:

    Codice PHP:
    if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
      
    $deleteSQL2 "DELETE FROM photos WHERE ptid=".$_REQUEST['id'];
    //echo $deleteSQL;
    //die();
      
    mysql_select_db($database_myconn$myconn);
      
    $Result2 mysql_query($deleteSQL2$myconn) or die(mysql_error());
      
      
    $deleteGoTo2 "a_index.php?id=".$_REQUEST['id'];
      
    header(sprintf("Location: %s"$deleteGoTo2));
    }

    //delete photos from file
    unlink('admin/photos/uploads/'.$fname);
    unlink('admin/photos/uploads/thumbs/tn_'.$fname);
    unlink('admin/photos/uploads/small_thumbs/tn_'.$fname); 
    nella tabello photos del database me le cancella tutte e due le foto, invece nella cartella mi cancella solo l'ultima foto inserita..e non tutte e 2 le foto...come mai?
    sbaglio qualcosa nel codice?
    l'intero codice della pagina è nel primo post.

    chi mi da una mano gentilmente?


  4. #4
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    con questo codice mi seleziona solo una foto .jpg riferita a quell id

    Codice PHP:
    $query_photo sprintf("SELECT * FROM photos WHERE ptid=".$_REQUEST['id'], $colname_photo);
    //echo $query_photo;
    $photo mysql_query($query_photo$myconn) or die(mysql_error());
    $row_photo mysql_fetch_assoc($photo);
    $totalRows_photo mysql_num_rows($photo);

    $fname $row_photo['location']; 
    mi seleziona solo una foto prima della cancellazione, ovvero:
    $fname = $row_photo['location'];

    location è il campo della tabella photos dov'è contenuto il file .jpg

    come faccio a dire: selezionami tutte le foto (location) riferite all'id espresso nella query di sopra?

    e poi cancellarle con questo?:

    Codice PHP:
    //delete photos from file
    unlink('admin/photos/uploads/'.$fname);
    unlink('admin/photos/uploads/thumbs/tn_'.$fname);
    unlink('admin/photos/uploads/small_thumbs/tn_'.$fname); 

  5. #5
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    up

  6. #6
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ..

  7. #7
    E' ovvio che te ne cancella una

    Devi mettere i vari unlink, dentro un ciclo while.

    Il ciclo While deve essere il risultato di un'interrogazione della tabella photo con ptid='$_REQUEST['id']'

    PS: non usare la variabile $_REQUEST ma $_GET o $_POST in base al form/link !!


  8. #8
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ho inserito il ciclo, ma non funziona, puoi correggermelo?

    Codice PHP:
    if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
      
    $deleteSQL2 "DELETE FROM photos WHERE ptid=".$_REQUEST['id'];
    //echo $deleteSQL;
    //die();
      
    mysql_select_db($database_myconn$myconn);
      
    $Result2 mysql_query($deleteSQL2$myconn) or die(mysql_error());
      
      
    $deleteGoTo2 "a_index.php?id=".$_REQUEST['id'];
      
    header(sprintf("Location: %s"$deleteGoTo2));
    }

    function 
    delete($id) {
       
    $query "SELECT * FROM photos WHERE ptid=".$_REQUEST['id'];
       
    $esegui mysql_query($query);
       while (
    $result mysql_fetch_array($esegui)) {

             
    //delete photos from file
    unlink('admin/photos/uploads/'.$result);
    unlink('admin/photos/uploads/thumbs/tn_'.$result);
    unlink('admin/photos/uploads/small_thumbs/tn_'.$result);
       } 

    if ((isset(
    $_GET['id'])) && ($_GET['id'] != "")) {
      
    $deleteSQL sprintf("DELETE FROM items WHERE id=%s",
                           
    GetSQLValueString($_GET['id'], "int")) . " and mid = " $_SESSION['memberID'];
    //echo $deleteSQL;
      
    $Result1 mysql_query($deleteSQL$myconn) or die(mysql_error());

      
    $deleteGoTo "a_index.php";
      if (isset(
    $_SERVER['QUERY_STRING'])) {
        
    $deleteGoTo .= (strpos($deleteGoTo'?')) ? "&" "?";
        
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
      }
      
    header(sprintf("Location: %s"$deleteGoTo));
    }

    grazie

  9. #9
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    up..

  10. #10
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.