• 15-05-2018, 11:27:42
    #1
    Merhaba,
    E-Arşiv fatura için şirket içerisinde bir çalışma yapiyorum..
    Çalıştığımız firmadan php konusunda destek alamadığım için artık çıldırmak üzereyim.

    string
    fileFullPath = @"04_ORNEK.xml"; //Gönderilecek dosya ZipBinaryArray'e dönüştürülür.
    byte[] zipFileBinaryDataArray = null;
    using (MemoryStream memoryStreamOutput = newMemoryStream()) {
    using (ZipFile zip = newZipFile()) {
    zip.AddFile(fileFullPath, string.Empty);
    zip.Save(memoryStreamOutput);
    }
    zipFileBinaryDataArray = memoryStreamOutput.ToArray();
    }
    //Zip Binary Data Array'in Standart MD5 Hash bilgisi hesaplanır.
    HashGenerator hashGenerator = newHashGenerator();
    string zipFileHash = hashGenerator.GetMD5Hash(zipFileBinaryDataArray);
    Bu kodun php karşılığını bulamaya çalışıyorum.

    $file_name = 'untitled'.date('YmdHis')."MTB".date("Y");
    $res = $this->open(__DIR__.DS.'tempfolder'.DS.$file_name.".zip");
    $cache = file_get_contents("1526044340.xml");
    $this->addFromString($file_name.".xml", $cache);
    $this->setArchiveComment('E-Arsiv Fatura.');
    $this->close();
    $s = file_get_contents(__DIR__.DS.'tempfolder'.DS.$file_name.".zip");
    $s = base64_encode($s);
    $md5 = md5($s);
    Şeklinde bir blog yazdım ancak tam olarak karşılığı bu değil çünkü oluşturduğum zip dosyasını gönderimi yaptıgım yer açamıyor hatalı zip dosyası çıkıyor dışarıya yukarıda koda göre oluşturmam gerekiyor konu hakkında bilgisi olan varmı ?
  • 15-05-2018, 11:57:22
    #3
    Merhaba zip dosyasını oluşturma ile sorunum yok zip dosyası oluşuyor ondan sonrası ile alakali sorun war

    zipFileBinaryDataArray = memoryStreamOutput.ToArray();
  • 18-05-2018, 09:56:31
    #5
    Konu hakkında yardımcı olabilecek kimse yok mu ?
  • 18-05-2018, 14:45:22
    #6
    Şunu anlamadım.
    Herhangi bir dosyayı mı zip yapmak istiyorsunuz? Yoksa zip yaparkende bir isimlendirme falan yapmak istiyor musunuz?

    Örneğin aşağıdaki kodla baris.txt adlı dosyayı zip olarak sıkıştırabilirsiniz.
    <?php
    
    if(extension_loaded('zip')){
    
        $zip=new ZipArchive();
        $ad=time().".zip";
    
      if($zip->open($ad,ZIPARCHIVE::CREATE)){
            $zip->addFile('baris.txt');
        }
        else{echo"Oluşturulmadı";}
        $zip->close();
    
    }
    else{
        echo"zip eklentisi yüklü değil";
    }
    ?>
  • 18-05-2018, 14:56:40
    #7
    Programmer adlı üyeden alıntı: mesajı görüntüle
    Şunu anlamadım.
    Herhangi bir dosyayı mı zip yapmak istiyorsunuz? Yoksa zip yaparkende bir isimlendirme falan yapmak istiyor musunuz?

    Örneğin aşağıdaki kodla baris.txt adlı dosyayı zip olarak sıkıştırabilirsiniz.
    <?php
    
    if(extension_loaded('zip')){
    
        $zip=new ZipArchive();
        $ad=time().".zip";
    
      if($zip->open($ad,ZIPARCHIVE::CREATE)){
            $zip->addFile('baris.txt');
        }
        else{echo"Oluşturulmadı";}
        $zip->close();
    
    }
    else{
        echo"zip eklentisi yüklü değil";
    }
    ?>
    Dosyayı zip yapiyorum. İsim de veriyorum hatta içine açıklamada ekliyorum. Yukarıda verdiğim kodlarda zaten var hepsi. Mesele zip oluşturmak değil. Oluşturulan ZIP dosyasını BINARY e çevirip BASE64 yapmam gerekiyor bunu yapmaya ğraşıyorum yukarıda belirtmiştim ancak tam ifade edemedim herhalde




    Bulmaya calistigim kod hashlemek değil binary e dönüştürme açıkçası
    zipFileBinaryDataArray = memoryStreamOutput.ToArray();
  • 18-05-2018, 15:21:08
    #8
    Bu kod size base64 değeri olarak sonucu verir.

    <?php
    
    
    
    if(extension_loaded('zip')){
    
        $zip=new ZipArchive();
        $ad=time().".zip";
    
      if($zip->open($ad,ZIPARCHIVE::CREATE)){
            $zip->addFile('baris.txt');
        }
        else{echo"Oluşturulmadı";}
        $zip->close();
       
       $data = file_get_contents($ad);
        $encoded_data = base64_encode($data);
    echo $encoded_data;
    
    
    }
    else{
        echo"zip eklentisi yüklü değil";
    }
    ?>
  • 18-05-2018, 17:09:59
    #9
    Programmer adlı üyeden alıntı: mesajı görüntüle
    Bu kod size base64 değeri olarak sonucu verir.

    <?php
    
    
    
    if(extension_loaded('zip')){
    
        $zip=new ZipArchive();
        $ad=time().".zip";
    
      if($zip->open($ad,ZIPARCHIVE::CREATE)){
            $zip->addFile('baris.txt');
        }
        else{echo"Oluşturulmadı";}
        $zip->close();
     
       $data = file_get_contents($ad);
        $encoded_data = base64_encode($data);
    echo $encoded_data;
    
    
    }
    else{
        echo"zip eklentisi yüklü değil";
    }
    ?>
    ama bu kod işimi görmüyor ilk yazdıgım kod bu zaten.

    Bu kod ile oluşutrdugum veriyi karşı serverda zip hatalı uyarısı veriyor.

    Yukarıda yazdıgım kodun tersini yazmam gerekiyor ama birtürlü sonuca gidemiyorum