테스트 사이트 - 개발 중인 베타 버전입니다

여분필드1 내용삭제와 파일삭제법 채택완료

길가던분 7년 전 조회 1,770

동영상을 업로드하면서 video테그를 각각 it_1, It_1_subj필드에 넣도록 만들었는대 상품수정페이지에서 파일삭제 체크박스를 채크후 확인을 누르면 동영상 파일과 필드에 들어있는 테그를 삭제하려면 어떻게 해야할까요?

이미지 삭제 테그를 가져와 수정해봤는대 하얀화면만 뜨네요.

방금  itemformupdate.php 소스에 it1_del로 잘못 넣어서 it_1_del로 변경했는대 이것도  오류겠지만

다른 오류가 더 있는건지 안되네요.

 

itemform.php

</p>

<p>    <th scope="row"><label for="it_1">여분필드(동영상)</label></th>

    <td>

        <p>

        <input type="file" name="it_1"  id="it_1" value="<?php echo get_text($it['it_1']); ?>" id="it_1" class="frm_input" >  <label for="it_1_del"><span class="sound_only">동영상 <?php echo $i; ?> </span>파일삭제</label>

                <input type="checkbox" name="it_1_del" id="it_1_del" value="1">

        <td class="td_grpset">

        <?php if ($it['it_1_subj']) { ?> <label for="it_1_subj"><center><strong>동영상 미리 보기</strong>


        <?php echo $it['it_1_subj']; ?> </label> <?php } ?>    </center>      

        </td>

        </p>

    </td>


</p>

<p>

 

itemformupdate.php

</p>

<p>// 여분필드1 설정

$uploads_dir = (G5_MEDIA_PATH);

$allowed_ext = array('webm','mp4');

 

// 여분필드1 변수 정리

$error = $_FILES['it_1']['error'];

$name = $_FILES['it_1']['name'];

$ext = array_pop(explode('.', $name));

$v_1 = "<video controls><source src='".G5_MEDIA_URL."/".$name."'></video>";</p>

<p>$v_2 = "<video width= '300' height= '200' controls><source src='".G5_MEDIA_URL."/".$name."'></video>";</p>

<p>// 여분필드1 파일 이동

move_uploaded_file( $_FILES['it_1']['tmp_name'], "$uploads_dir/$name");</p>

<p>//여분필드1 데이터베이스 등록(v1상품 페이지, v2상품수정 페이지 미리 보기)

$sql = "update g5_shop_item set it_1= '".addslashes($v_1)."' where it_id='$it_id'";

$sql = "update g5_shop_item set it_1_subj= '".addslashes($v_2)."' where it_id='$it_id'";</p>

<p>sql_query($sql);</p>

<p>//여분필드1 파일 데이터베이스 삭제

if ($it_1_del) {

$sql = " select it_1 it_1_subj

                from {$g5['g5_shop_item_table']}

                where it_id = '$it_id' ";                

    sql_fetch($sql);

    $file_it_1 = $uploads_dir'/'.$name;

    @unlink($file_it_1);

    $it_1 = '';

    $it_1_subj ='';</p>

<p>}</p>

<p>

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
베원
7년 전

</p>

<p>if($it_1_del) {</p>

<p>    sql_query("update {$g5['g5_shop_item_table']} SET `it_1` = '' and `it_1_subj` = '' WHERE it_id = '$it_id' ");</p>

<p>    @unlink($uploads_dir.'/'.$name);</p>

<p>}</p>

<p>

이렇게 짜시면 될 것 같구요.

저 코드에서 오류나는 부분은 (올려주신 코드 기준) 아래 파일 23번째줄에 $uploads_dir과 '/' 사이에 .이 빠졌습니다. 오류 디버깅하시려면 display_errors를 키고 error_reporting(E_ALL)로 해주세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

길가던분
7년 전
www-data 계정때문에 파일 삭제가 안되서 삽질좀 했내요. 아무튼 감사합니다.^^ 좋은 하루되세요.
베원
7년 전
@길가던분 좋은 밤 되세요~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인