2013-09-04 2 views
0

한 번에 두 개 이상의 사진의 연결을 끊는 데 문제가 있습니다. $ _POST "명령"에서 사진의 이름을받는 폴더에서 삭제 중입니다. 내가 print_r("The $_POST here"); 일 때 (그림이 하나 더 많음) FolderName/picture1.jpgFoldername/picture2.jpg과 같이 나타납니다. 왜 이것이 한 번에 하나 이상의 사진을 삭제하지 않는 이유입니까?) (한 번에 두 개 이상의 사진 연결 해제 문제

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

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

링크 해제 기능에는 하나의 경로 만 전달해야합니다. 결과에 대해 문자열과 루프를 분리하십시오. –

+0

그림 이름은 여러 종류의''태그에서 온 것입니까? 기본적으로 컨텍스트가 더 좋을 것입니다. 클라이언트에서''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

링크 해제 지원을 :

나는 사진 (들)의 이름 (들) MySQL의 테이블에서 recived되는 사진을 (를) 삭제하려면이 코드를 사용하고 하나의 파일 만.

고려할만한 두 가지 접근 방법이 있습니다. 양식 입력에서 그들을 보내기

접근 한 은 []

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

그런 다음 당신은 PHP 스크립트의 POST 배열을 얻을 수 있습니다.

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 당신은 입력 문자열을 구문 분석 할 필요가있을 수 있습니다. explode (',', $ _POST [ 'filenames'])와 같이 쉼표로 구분됩니다.

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

정말 고마워요. : D 나는 전에 당신의 코멘트를 보지 못했습니다; 그러나 나는 이것에 대한 해답을 알아 냈다. 나는 그것을 게시 할 것이다. :) – ravo10

+1

도움이 된 것을 기쁘게 생각합니다. :) 그런데, 당신은 또한 mysql_ 함수를 사용하지 않는 것을 고려하고 싶을지도 모른다. 당신은 더 많이 볼 수있다. –

+0

흠, 내가 살펴볼 것이다. 고마워. :) – ravo10

관련 문제