Amazon S3 yükleme dosyaları için PHP olayları sıralamak için nasıl

1 Cevap php

Merhaba Birisi ben o zaman yüklenen dosya üzerinde eylemler gerçekleştirmek için bir EC2 örneği aramak S3 dosya yüklemek için yazdım bazı PHP kodu ile çeşitli sonuçlar alıyorum bana neden anlamak için yardımcı olabilir umut ediyorum.

İşte ben şeyleri sipariş -

1) Dosyayı koymak için S3 sınıfını kullanın

$result = s3 -> putObjectFile($uploadDIR, $bucket, $name, S3::ACL)

2) onay $ sonuç

if($result == "1") {
//file made it to s3

3) EC2 örneği aramak ve S3 dosya üzerinde eylem gerçekleştirmek için cURL kullanabilirsiniz

Ben de (örneğin 3MB) ok çalışıyor ama büyük video (örneğin 80MB) için kod geçmiş adımı 1 almak için görünmüyor, küçük bir video dosyası yüklediğinizde, video dosyaları ile kullanıyorum. Dosya ok s3'e taşındı ama benim tahminim Bir süre sonra bu yüzden PHP $ sonuç == 1 ve kod kalanını yürütmek değilse görmek için bekleyen vermesidir.

Böyle bir şey işlemek için en iyi yolu nedir? Nasıl dosya S3 yüklenen ve olduğunda sonra bazı kod çalıştırmak olduğunu tespit edebilirsiniz?

many thanks Stephen

1 Cevap

Büyük dosyalar için, bunları yüklemek için gereken zaman muhtemelen betiğin max_execution_time daha yüksek olacaktır.

Sadece set_time_limit () işlevini kullanabilirsiniz ama yine komut sadece herhangi bir kullanıcı geribildirim (tarayıcı çıkış) olmadan orada "asılı" gibi web sayfaları için muhtemelen iyi bir fikir değil.

Bu muhtemelen daha güzel olurdu:

  1. set_time_limit kullanın () yani komut ölmez.
  2. Geçici bir konuma (DB, oturum, vb) dosya adını saklamak ve bunun için benzersiz bir kimlik olsun
  3. Çıktı bazı AJAX kod ile bir sayfa (tekrar tekrar) (UnDEFInED, BAŞARISIZ, BİTMİŞ?) Dosyanın durumu ikinci bir komut dosyası sorgulamak
  4. Eylem bitirmek ve sonuç DB güncellemek için orijinal senaryo üzerinde bekleyin.