Web Geliştirme: Nasıl bir kullanıcı benim CDN (Cachefly) doğrudan dosya yüklemek için izin verebilir?

5 Cevap php

Kullanıcıların benim web sitesine resim yüklemek için olanak sağlayan bir PHP web uygulaması var. Ben basit bir HTML <form enctype="multipart/form-data"> kullanarak bu yapıyorum

Ancak, bunun yerine benim web sunucusuna yüklenen bu görüntüleri olan - benim CDN (- Başka bir sunucu Cachefly) doğrudan yüklenen bu görüntüleri var isterim.

Bu mümkün mü ... bir web uygulaması kullanıcı başka bir sunucuya doğrudan resim yüklemek için izin var mı?

Yardımcı olur durumda, burada benim PHP kodu:

$target_path = "/home/www/example.com/uploads/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    // file has been uploaded **LOCALLY**
    // HOWEVER, instead of it being upload locally, I would like the file 
    // to be directly uploaded to the CDN ('other' server)
    ...
} else{
    // error: file did not get uploaded correctly
    ....
}

5 Cevap

i CDN durumunda ... u ilk ur sunucudaki dosyaları almak zorunda kalacak ve daha sonra onların 'kova' olarak CDN API kullanarak yüklemeyi düşünüyorum. i ur sunucusunda bir dizin olarak eşleştirmek için bir yol olmadıkça u CDN doğrudan yükleyebilirsiniz sanmıyorum.

Ben doğrudan başka bir sunucuya yüklemek mümkün olduğunu sanmıyorum, ama yanlış olabilir. Ben benzer bir sorun vardı, ve ben PHP'nin FTP imkanlarımızı kullandık (http://us3.php.net/manual/en/book.ftp.php). Ben hala FTP hedef sunucuya transfer, ve sonra benim sunucudan dosya silinmiş, sonra benim sunucusuna yüklenen dosyalar, yani bir orta-adam olarak benim sunucu kullanılır.

Eğer sunucunuza tarifesi ve sonra fileshare veya FTP üzerinden CDN aktarmak olabilir.

CDN web bakan ise, bu sunucuya istek yeniden doğrudan verebilir ve dosya yüklenir kez geri webserver forma denetimi gönderebilirsiniz. Gerçi arka sonunda dosya aktarımı yapmak ve web sunucuya bağlı kullanıcı tutmak için muhtemelen daha iyi.

Tabii.

Yere kod ayarlamak gereken bir "$ target_directory" değişken var. O denilen olmayacak, ancak işlevi ayarlandığında nasıl depeding kadar olması gerekiyor orada-bir yerde-. Sadece dizin 777 CHMOD'd böylece bu içine yazılır emin olun, size dosyaları da içeri arazi istiyorum dizin için mutlak bir yol kullanabilirsiniz.

Kodunuzu gönderebilir ve daha fazla yardımcı olabilir.

Yes amazon web services already allows you to upload to amazon S3 directly from the user's browser: Documentation: http://doc.s3.amazonaws.com/proposals/post.html

Ayrıca bu S3 kova amazon CDN (ya da bir müşterinin kaynak sunucuya işaret edebilir başka CDN) ile maruz olabilir