2012-02-20 1 views
-1

미리보기를 위해 파일을 읽으려면이 코드가 있어야하지만 단점은 클라우드에서 먼저 파일을 다운로드하고 읽어야한다는 것입니다. 그러나 특정 파일을보고 난 후에 삭제하려는 공간이 낭비됩니다. 이 작업을 수행하는 자동 방법이 있습니까? 아니면 닫기 버튼에 통합해야합니까?stream_get_contents();를 사용한 후 zip 파일을 자동으로 삭제하는 방법; PHP에서 파일을 볼 수 있습니까?

// Get the container we want to use 
$container = $conn->get_container('mailtemplate'); 
//$filename = 'template1.zip'; 
// upload file to Rackspace 
$object = $container->get_object($filename); 
//var_dump($object); 
//echo '<pre>' . print_r($object,true) . '</pre>'; 
$localfile = $dir.$filename; 
//echo $localfile; 
$object->save_to_filename($localfile); 
    if($_GET['preview'] == "true") 
    { 
     $dir = "../mailtemplates/"; 
     $file1 = $_GET['tfilename']; 
     $file = $dir.$file1; 
     $file2 = "index.html"; 
     $info = pathinfo($file); 
     $file_name = basename($file,'.'.$info['extension']); 
     $path = $file_name.'/'.$file2; 
     $zip = new ZipArchive(); 
     $zip->open($file); 
     $fp = $zip->getStream($path); 
     if(!$fp) 
     { 
      exit("faileds\n"); 
      $zip->close(); 
      unlink($dir.$filename);     
     } 
     else 
     {       
      $stuff = stream_get_contents($fp); 
      echo $stuff; 
      $zip->close();      
      if($stuff != null) 
      { 
       unlink($dir.$filename); 
      }      
     } 
    } 
    else 
    { 
     unlink($dir.$filename); 
    } 
+0

"your"코드를 이해하지 못하는 것 같습니다. 이미 여러 개의 unlink() 호출이 있습니다. – KingCrunch

+0

왜냐하면 내가 왜 작동하지 않을지 모르겠다. 나는 주변에 몇 개의 부품을 놓고 내가 어떤 부품이 작동하지 않는지, ulink와 분리 된 코드가 작동 하는지를 결정할 수있을 것이라고 기대했기 때문이다. – magicianiam

+0

그래서'$ file'과'$ file1'은 모두 같은 파일명을 가지고 있지만 경로 정보를 가지고 있고'$ file_name'이 있습니다. 다시 같은 이름의 확장자를 가진 bgut입니까? 보다 유익한 변수 이름을 고를 수 있습니다. 변수'$ file2'를 하드 코딩 한 다음 한 번만 사용하십시오.'$ IndexFilename'과 같이 호출하거나 변수를 제거하십시오. – Basic

답변

1

너는 구글이 아니야? 파일을 열 곳이다 -, $zip->open($file); <이 코드를 살펴 촬영

:

Unlink

편집하십시오. 그래서 당신이 상대 디렉토리를 잡아 폴더로 파일 이름을 잡아, 해당 폴더 /index.html이 갈거야

"../mailtemplates/" . basename($_GET['tfilename'], '.' . $info['extension']) . '/' . "index.html"

: 파일 변수에 의해 설정된다. 당신이 C에 있다면

: 예를 들면 다음과 같습니다이다 테스트 \ 그리고 당신은 갈 .. /mailtemplates/ 당신은 에 있습니다 C : \ mailtemplates 다음은 당신이 파일 보고있는 .php를 테스트했지만 이면 파일 확장자는입니다. 따라서 c : \ mailtemplates \ test \ index.html 위치로 열어서 해당 html 파일을 열어서 읽을 수 있습니다. 그런 다음 삭제 에 노력하고C : \ mailtemplates \ test.php 당신이 그 중 하나가 당신에게 의미가 어떻게

설명 할 수 있습니까? 왜냐하면 그건 나에게 너무 이상해 보입니다.

+0

나는 ulink를 사용하고있다. – magicianiam

+0

메모리에서를 제외하고 파일을 저장하는 코드는 여기에 없다. 파일이 메모리에만 있다면, 변수를 널거나 범위를 벗어난다. – deltree

+0

이 파일을 편집했습니다. 미안합니다 처음에 포함시킬 수 없었습니다 – magicianiam

관련 문제