如何根据值删除会话变量数据

时间:2015-12-31 10:44:07

标签: php session session-variables

首先,我创建一个会话变量来存储图像路径

1 个答案:

答案 0 :(得分:0)

正如我建议的那样,

如果您指定如下

$filename  = $_FILES["file"]["name"];


 $_SESSION["auctionImages"][]= $filename ; // Here I make changes. Instead of assigining it into multidimensional array I assigned in 2D array

您的SESSION数组将变为

Array
(
    [0] => IMG_2923.JPG
    [1] => IMG_2924.JPG

)

如果你得到如上所述的会话数组,你的现有代码本身将起作用

$a = $_POST['id']; // user choose to delete photo example value will be IMG_2923.JPG
$key=array_search($a,$_SESSION['auctionImages']);

if($key!==false) {
     unset($_SESSION['auctionImages'][$key]);
     $_SESSION["auctionImages"] = array_values($_SESSION["auctionImages"]);
}

我的工作代码:

<?php
    session_start(); // Initializing session

    $auctionImage = time().'.jpg';
    $_SESSION["auctionImages"][]= $auctionImage; // Testing purpose I am creating a image array in `SESSION` using timestamp.

    $a = '1451559040.jpg'; // Reference Key. Here you can assign any existing value. For testing purpose I put some static value.
    $key=array_search($a,$_SESSION['auctionImages']);

    if($key!==false)
        unset($_SESSION['auctionImages'][$key]);

    $_SESSION["auctionImages"] = array_values($_SESSION["auctionImages"]);

    echo '<pre>'; print_r($_SESSION['auctionImages']);
    echo '<pre>'; print_r($key); die;

?>