2016-09-26 3 views
3

といくつかのエラー:クラスZIPARCHIVE()、私は今、2日間私のコードに間違いを探している機能

<?php 

echo $_FILES['import']['name']; ?> <br/> <?php 
echo $_FILES['import']['type']; ?> <br/> <?php 
echo $_FILES['import']['size']; ?> <br/> <?php 
echo $_FILES['import']['tmp_name']; ?> <br/> <?php 
echo $_FILES['import']['error']; 

if ($_FILES['import']['error'] > 0) { 
    echo "Erreur lors du transfert"; 
} 
else { 
    echo "Transfert Ok" ;?> <br/> <?php 

    $nom = $_FILES['import']['name']; 
    $localisation = $_FILES['import']['tmp_name']; 

    echo $nom; ?> <br/> <?php 
    echo $localisation; ?> <br/> <?php 

    $zip = new ZipArchive(); 

    $res = $zip->open($localisation."/".$nom); 
// echo $res; 
    if($res === TRUE) { 
     echo 'ok'; 
    } 
    else { 
     echo 'erreur'; 
    } 
} 
?> 

私の問題は、ZipArchiveクラスです。私にとってはopen()extractTo()の機能は動作しません。

このコードは常に解決策を見つけるために編集されます。今私は "開く"しようとしている、それは動作しません。
理由はわかりません。私の場合、パスは正しくありませんが、パスが表示されたら(echo $localisation."/".$nomを使用)、実際にはあります。

デベロッパー開発者のための解決策またはアドバイスがありますか?

+0

質問に追加できるエラーログはありますか?他の人が解決策を提供するのに役立つでしょう。 – dubes

+0

私はこの時点でエラーはありません。このコードはif条件に "入"しません。 (if($ res === TRUE){ echo 'ok'; })。私はこの記事の下で解決策を試しています –

答えて

1

おそらく機能が動作しないのは、$res = $zip->open($localisation."/".$nom);という行かもしれません。これは、/tmp/a23mt.tmp/somefile.zipのような文字列が間違っている可能性があります。スクリプトの現在の作業ディレクトリではなく、アップロードされたファイルを保存するために特定のフォルダパスを指定することもできますが、次のような場合があります。

/* for convenience, create an object representation of the uploaded file */ 
$file=(object)$_FILES['import']; 
/* assign variables */ 
$name=$file->name; 
$type=$file->type; 
$size=$file->size; 
$tmp=$file->tmp_name; 
$error=$file->error; 



if($error==UPLOAD_ERR_OK){ 
    if(is_uploaded_file($tmp)){ 

     /* need to store the file somewhere */ 
     $target = __DIR__ . DIRECTORY_SEPARATOR . $name; 

     /* move the uploaded file before processing */ 
     $result = move_uploaded_file($tmp, $target); 

     /* was the file moved successfully? */ 
     if(file_exists($target)){ 
      clearstatcache(); 

      /* do stuff - zip */ 
      $zip = new ZipArchive(); 
      $result = $zip->open($target); 

      echo $result ? 'ok' : 'erreur'; 
     } else { 
      echo "Error moving/saving file!"; 
     } 

    } else { 
     echo "Error! Not an uploaded file...attempted hack!" 
    } 
} else { 
    echo "Erreur lors du transfert!" 
} 
+0

このソリューションをありがとう、それは動作しています!さて、私はファイルを抽出しようとしています、ありがとうございます。 –

関連する問題