2013-09-04 5 views
0

У меня есть проблема с одновременным отключением более одного изображения. Я удаляю из папки, где имя изображения (ов) извлекается из команды $ _POST ". Когда я print_r("The $_POST here");, это выглядит как это (с более чем одним изображением): FolderName/picture1.jpgFoldername/picture2.jpg. Поэтому не удается удалить более одного снимка в то время?Проблемы с одновременным отключением более одного изображения

Я использую этот код, чтобы удалить файл (ы), где название картины (s) (s) является RECIVED из таблицы MySQL:

if ($_POST["examplePost"]) { 
     // DELETE PICTURE(s) 
$maal = $row_exampleRow['picture']; 

if (file_exists($maal)) { 
    unlink($maal); 
    } 
} 
+1

Вы должны пройти только один путь к функции разблокировки. Так разделите строку и зациклируйте результат. –

+0

Является ли картинное имя многоцелевым тегом '' some? В основном больше контекста было бы неплохо. Что такое '' examplePost'' на клиенте? Что такое '$ row_exampleRow' и где он определен? –

ответ

0

Я понял. Я просто скопирую весь код :):

<?php 
require_once('Connections/GeoPlassPosisjon_2.php'); 
require_once("uregistrerte_bilete.php"); 
?> 
<?php 
// Namn på knapp 
if (isset($_POST["slettBileteUR"])) { 
    // Namn på sjekkboks 
    $checkbox = $_POST["cURBileteNamn"]; 
    $countCheck = count($_POST["cURBileteNamn"]); 

for ($i = 0; $i < $countCheck; $i++) { 
    $del_id = $checkbox[$i]; 

    $sql2 = "SELECT l_o_bid, bilete_namn FROM ur_lasta_opp_bileter WHERE l_o_bid = '$del_id'"; 
    $res2 = mysql_query($sql2); 
    $count2 = mysql_fetch_row($res2); 
    unset($count2[0]); 
    foreach($count2 as $bilete_namnUR); 

     // SLETTE BILETE 
    // PHP kode for å slette bilete frå server mappa 
// Visst $bilete_namnUR (bilete) eksistere --> slett $bilete_namnUR (bilete) 
if (file_exists($bilete_namnUR)) { 
    unlink($bilete_namnUR); 
} 

     $sql = "DELETE from ur_lasta_opp_bileter WHERE l_o_bid = $del_id"; 
     $res = mysql_query($sql) or die(mysqli_error('Kan desverre ikkje koble til databasen.')); 
} 

if ($res) { 
    header ("location: uregistrerte_bilete.php"); 
} else { 
    echo '<script type="text/javascript">', 'errorUrBilSlettJS();', '</script>'; 
    } 
} 

?> 

Спасибо всем за помощь, которую я получил! :)

1

http://php.net/manual/en/function.unlink.php

Разорвать связь() поддерживает только для одного файла.

Существует два подхода, которые вы можете рассмотреть.

подход 1 Отправка их в формы ввода []

<form method='post'> 
    <input name='filename[]'><BR/> 
    <input name='filename[]'><BR/> 
    <input name='filename[]'><BR/> 
    <input name='filename[]'><BR/> 
    <input name='filename[]'><BR/> 
    <input name='filename[]'><BR/> 
    <input type=submit> 
</forM> 

Тогда вы можете получить массив POST в PHP скрипт.

array (size=1) 
    'filename' => 
    array (size=6) 
     0 => string 'aw' (length=2) 
     1 => string 'awf' (length=3) 
     2 => string 'fawf' (length=4) 
     3 => string '' (length=0) 
     4 => string '' (length=0) 
     5 => string '' (length=0) 

подход 2 Вам может понадобиться для анализа входящей строки. Как взорвать (',', $ _POST ['filenames']), если они разделены запятой.

<form method='post'> 
    <input name='filenames'> 
    <input type=submit> 
</forM> 
+0

Большое вам спасибо. : D Я не видел ваших комментариев раньше; но я также понял ответ на этот вопрос. Я отправлю его. :) – ravo10

+1

Рад, что это помогло. :) Кстати, вы также можете подумать о том, чтобы не использовать функции mysql_, вы можете google, чтобы увидеть больше. –

+0

Мм, я посмотрю на это, спасибо. :) – ravo10

Смежные вопросы