prehistory
เจ เจเจฟเจนเจพ เจนเฉ เจนเฉเจเจ เจนเฉ เจเจฟ เจฎเฉเจจเฉเฉฐ เจเจฟเจคเฉ 1.5 TB เจคเฉเจ เจตเฉฑเจง เจกเฉเจเจพ เจธเจเฉเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจธเฉ, เจ เจคเฉ เจเจฎ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจธเจฟเฉฑเจงเฉ เจฒเจฟเฉฐเจ เจฐเจพเจนเฉเจ เจเจธเจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจธเฉเฅค เจเจฟเจเจเจเจฟ เจฐเจตเจพเจเจคเฉ เจคเฉเจฐ 'เจคเฉ เจฎเฉเจฎเฉเจฐเฉ เจฆเฉ เจ เจเจฟเจนเฉ เจฎเจพเจคเจฐเจพ เจตเฉเจกเฉเจเจธ เจจเฉเฉฐ เจเจพเจเจฆเฉ เจนเฉ, เจเจฟเจฐเจพเจ เจฆเฉ เจฒเจพเจเจค เจเฉ เจเจฟ "เจเจฐเจจ เจฒเจ เจเฉเจ เจจเจนเฉเจ" เจธเจผเฉเจฐเฉเจฃเฉ เจฆเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฌเจเจ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจนเฉ, เจ เจคเฉ เจธเจฐเฉเจค เจกเฉเจเจพ เจคเฉเจ เจฎเฉเจฐเฉ เจเฉเจฒ เจเฉฑเจ VPS 400GB SSD เจธเฉ, เจเจฟเฉฑเจฅเฉ, เจญเจพเจตเฉเจ เจฎเฉเจ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ, เจฎเฉเจ เจฌเจฟเจจเจพเจ เจจเฉเจเจธเจพเจจ เจฐเจนเจฟเจค เจธเฉฐเจเฉเจเจจ เจฆเฉ 1.5TB เจเจฟเฉฑเจคเจฐ เจจเจนเฉเจ เจชเจพ เจธเจเจฆเจพ เจธเฉ, เจเจน เจธเจซเจฒ เจนเฉเจตเฉเจเจพ.
เจ เจคเฉ เจซเจฟเจฐ เจฎเฉเจจเฉเฉฐ เจฏเจพเจฆ เจเจเจ เจเจฟ เจเฉเจเจฐ เจฎเฉเจ เจเฉเจเจฒ เจกเจฐเจพเจเจต เจคเฉเจ เจเฉฐเจ เจจเฉเฉฐ เจฎเจฟเจเจพเจเจเจฆเจพ เจนเจพเจ, เจเจฟเจตเฉเจ เจเจฟ เจเจน เจชเฉเจฐเฉเจเจฐเจพเจฎ เจเฉ เจธเจฟเจฐเจซ เจตเจฟเฉฐเจกเฉเจเจผ เจเจเจธเจชเฉ 'เจคเฉ เจเฉฑเจฒเจฃเจเฉ, เจ เจคเฉ เจนเฉเจฐ เจเฉเจเจผเจพเจ เจเฉ เจเจจเฉเจนเจพเจ เจฆเจฟเจจเจพเจ เจคเฉเจ เจเฉฑเจ เจกเจฟเจตเจพเจเจธ เจคเฉเจ เจฆเฉเจเฉ เจกเจฟเจตเจพเจเจธ 'เจคเฉ เจเจพ เจฐเจนเฉเจเจ เจนเจจ เจเจฆเฉเจ เจเฉฐเจเจฐเจจเฉเจ เจเฉฐเจจเจพ เจคเฉเจเจผ เจจเจนเฉเจ เจธเฉ เจฌเฉเจ เฉฐเจค ( เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจตเจฐเจเฉเจ เจฒ เจฌเจพเจเจธ เจฆเฉ เจเจน 10-20 เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจจเฉเจธเจเจพเจฒเจเจฟเจ เจคเฉเจ เจเจฒเจพเจตเจพ เจนเฉเจฐ เจเฉเจ เจฎเฉเฉฑเจฒ เจนเฉเจฃ เจฆเฉ เจธเฉฐเจญเจพเจตเจจเจพ เจจเจนเฉเจ เจธเฉ), เจซเจฟเจฐ เจธเจญ เจเฉเจ เจฌเจนเฉเจค เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจซเจฟเฉฑเจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจคเฉเจฐเฉฐเจค เจเจฐเจจเจพ. เจ เจคเฉ เจเจธ เจฒเจ, เจเจชเฉเจเจ เจจเฉเฉฐ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจฆเฉ เจธเฉเจฎเจพ เจจเฉเฉฐ เจคเฉเฉเจฆเฉ เจนเฉเจ (เจเจฟเจตเฉเจ เจเจฟ, เจคเจเจจเฉเจเฉ เจธเจนเจพเจเจคเจพ เจจเฉ เจฌเจฟเจจเจพเจ เจเจฟเจธเฉ เจธเจฎเฉฑเจธเจฟเจ เจฆเฉ เจชเฉเจฐเจคเฉ เจเจชเจญเฉเจเจคเจพ เจฌเฉเจจเจคเฉเจเจ เจฆเจพ เจเฉเจเจพ 100 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ 10 เจคเฉฑเจ เจตเจงเจพ เจฆเจฟเฉฑเจคเจพ), เจกเฉเจเจพ เจคเฉเจเจผเฉ เจจเจพเจฒ เจเจธเจฆเฉ เจ เจเจฒเฉ เจคเฉเจจเจพเจคเฉ เจฆเฉ เจธเจฅเจพเจจ เจคเฉ เจชเฉเจฐเจตเจพเจน เจเฉเจคเจพ เจเจฟเจเฅค .
เจธเจญ เจเฉเจ เจเฉฐเจเจพ เจเจพเจชเจฆเจพ เจนเฉ, เจชเจฐ เจนเฉเจฃ เจเจธเจจเฉเฉฐ เจ เฉฐเจคเจฎ เจเจชเจญเฉเจเจคเจพ เจคเฉฑเจ เจชเจนเฉเฉฐเจเจพเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ. เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจฌเจฟเจจเจพเจ เจเจฟเจธเฉ เจนเฉเจฐ เจธเจฐเฉเจคเจพเจ เจจเฉเฉฐ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเฉเจคเฉ, เจชเจฐ เจเจธ เจฒเจ เจเจฟ เจเฉเจ เจตเจฟเจ เจเจคเฉ เจธเจฟเจฐเจซเจผ "เจกเจพเจเจจเจฒเฉเจก" เจฌเจเจจ เจจเฉเฉฐ เจฆเจฌเจพเจตเฉ เจ เจคเฉ เจเจเจผเจพเจจเจเฉ เจซเจพเจเจฒ เจฆเจพ เจเฉเจธเจผเจนเจพเจฒ เจฎเจพเจฒเจ เจฌเจฃ เจเจพเจตเฉเฅค
เจเฉฑเจฅเฉ, เจฐเฉฑเจฌ เจฆเฉเจเจฐเจพ, เจฎเฉเจ เจนเจฐ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจฆเฉเฉฑเจเจพเจ เจตเจฟเฉฑเจ เจเจฟเจ. เจชเจนเจฟเจฒเจพเจ เจเจน AmPHP เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจธเฉ, เจชเจฐ เจฎเฉเจ เจเจธ เจฆเฉเจเจฐเจพ เจฌเจฃเจพเจ เจเจ เจฒเฉเจก เจคเฉเจ เจธเฉฐเจคเฉเจธเจผเจ เจจเจนเฉเจ เจธเฉ (เจธเจผเฉเจฐเฉเจเจค เจตเจฟเฉฑเจ 100% เจเฉเจฐ เจเจชเจค เจคเฉฑเจ เจเฉฑเจ เจคเจฟเฉฑเจเฉ เจเจพเจฒ)เฅค เจซเจฟเจฐ ReactPHP เจฒเจ เจเจฐเจฒ เจฐเฉเจชเจฐ เจเฉเจก เจตเจฟเฉฑเจ เจเจเจ, เจเฉ เจเจฟ เจเจชเจค เจเฉเจคเฉ CPU เจเฉฑเจเจฐเจพเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ เจฎเฉเจฐเฉเจเจ เจเฉฑเจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจซเจฟเฉฑเจ เจนเฉ, เจชเจฐ เจเจน เจเจคเฉ เจจเจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจเฉ เจฎเฉเจ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ (เจเจน เจชเจคเจพ เจเจฒเจฟเจ เจเจฟ เจคเฉเจธเฉเจ เจเจพเจฒเจฟเฉฐเจ เจฆเฉ เจ เฉฐเจคเจฐเจพเจฒ เจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจเจเจพ เจธเจเจฆเฉ เจนเฉ. curl_multi_select, เจชเจฐ เจซเจฟเจฐ เจธเจพเจกเฉ เจเฉเจฒ เจชเจนเจฟเจฒเฉ เจตเจฟเจเจฒเจช เจฆเฉ เจธเจฎเจพเจจ เจเฉฑเจ เจชเฉเจเฉ เจนเฉ)เฅค เจฎเฉเจ เจฐเจธเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจเฉ เจเจฟเจนเฉ เจธเฉเจตเจพ เจฒเจฟเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจตเฉ เจเฉเจคเฉ, เจ เจคเฉ เจเจธเจจเฉ เจฌเจนเฉเจค เจคเฉเจเจผเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเฉเจคเจพ (เจเจน เจนเฉเจฐเจพเจจเฉ เจฆเฉ เจเฉฑเจฒ เจนเฉ เจเจฟ เจเจธเจจเฉ เจเฉฐเจฎ เจเฉเจคเจพ, เจฎเฉเจฐเฉ เจเจฟเจเจจ เจฆเฉ เจฎเฉฑเจฆเฉเจจเจเจผเจฐ), เจชเจฐ เจฎเฉเจ เจนเฉเจฐ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ, เจ เจคเฉ เจเจธเจจเฉเฉฐ เจ เจจเฉเจเฉเจฒเจฟเจค เจเจฐเจจเจพ เจเจฟเจธเฉ เจคเจฐเฉเจนเจพเจ เจฎเฉเจธเจผเจเจฒ เจธเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจนเจจเจพเจ เจธเจพเจฐเฉ เจนเฉฑเจฒเจพเจ เจจเฉ เจเจฟเจธเฉ เจคเจฐเฉเจนเจพเจ เจ เจเฉเจฌ เจคเฉเจฐ 'เจคเฉ เจเจตเจพเจฌ เจจเฉเฉฐ เจฌเจซเจฐ เจเฉเจคเจพ, เจ เจคเฉ เจฎเฉเจ เจเจธ เจชเจฒ เจจเฉเฉฐ เจเจฐเฉเจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ เจเจฆเฉเจ เจซเจพเจเจฒ เจกเจพเจเจจเจฒเฉเจก เจธเจญ เจคเฉเจ เจตเฉฑเจกเฉ เจธเจผเฉเฉฑเจงเจคเจพ เจจเจพเจฒ เจเจคเจฎ เจนเฉเจเจ.
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจน เจเฉเจ เจธเจฎเฉเจ เจฒเจ เจเฉเจขเฉ เจธเฉ, เจชเจฐ เจเจธ เจจเฉ เจเฉฐเจฎ เจเฉเจคเจพ. เจเฉฑเจ เจฆเจฟเจจ เจคเฉฑเจ เจฎเฉเจ เจเฉฑเจ เจตเจฟเจเจพเจฐ เจฒเฉ เจเฉ เจเจเจ เจเฉ เจเจธเจฆเฉ เจชเจพเจเจฒเจชเจจ เจตเจฟเฉฑเจ เจเจฎเจพเจฒ เจฆเจพ เจธเฉ: nginx, เจธเจฟเจงเจพเจเจค เจตเจฟเฉฑเจ, เจเจน เจเจฐ เจธเจเจฆเจพ เจนเฉ เจเฉ เจฎเฉเจ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ, เจคเฉเจเจผเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐ เจธเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจจเจพเจฒ เจนเจฐ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจตเจฟเจเจพเฉ เจฆเฉ เจเจเจฟเจ เจตเฉ เจฆเจฟเฉฐเจฆเจพ เจนเฉ. เจธเจพเจจเฉเฉฐ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจเฉ เจชเจตเฉเจเฉ - เจเฉ เจเจน เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ เจคเจพเจ เจเฉ เจนเฉเจตเฉเจเจพ? เจ เจคเฉ เจฒเจเจพเจคเจพเจฐ เจเฉเจ เจฆเฉ เจ เฉฑเจงเฉ เจฆเจฟเจจ เจฌเจพเจ เจฆ, เจเฉฑเจ เจนเฉฑเจฒ เจชเฉเจฆเจพ เจนเฉเจเจ เจเฉ เจเจ เจฎเจนเฉเจจเจฟเจเจ เจคเฉเจ เจธเจฅเจฟเจฐเจคเจพ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐ เจฐเจฟเจนเจพ เจธเฉ เจ เจคเฉ เจฎเฉเจฐเฉเจเจ เจธเจพเจฐเฉเจเจ เจเจผเจฐเฉเจฐเจคเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจฆเจพ เจธเฉเฅค
NGINX เจธเฉเฉฑเจเจ เฉฑเจช เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
# ะะตัะฒัะผ ะดะตะปะพะผ ัะพะทะดะฐะดะธะผ ะฒ ะบะพะฝัะธะณะฐั
ะฝะฐัะตะณะพ ัะฐะนัะฐ ะพัะดะตะปัะฝัั ะปะพะบะฐัะธั.
location ~* ^/google_drive/(.+)$ {
# ะ ะทะฐะบัะพะตะผ ะตั ะพั ะฟะพััะพัะพะฝะฝะธั
ะณะปะฐะท (ััะบ, ะฝะพะณ ะธ ะฟัะพัะธั
ัะฐััะตะน ัะตะปะฐ).
internal;
# ะะณัะฐะฝะธัะธะผ ะฟะพะปัะทะพะฒะฐัะตะปัะผ ัะบะพัะพััั ะดะพ ัะฐะทัะผะฝัั
ะฟัะตะดะตะปะพะฒ (ั ะทะฐ ัะฐะฒะฝะพะฟัะฐะฒะธะต).
limit_rate 1m;
# ะ ััะพะฑ nginx ะผะพะณ ะฝะฐะนัะธ ัะตัะฒะตัะฐ google drive ัะบะฐะถะตะผ ะตะผั ะฐะดัะตั ัะตะทะพะปะฒะตัะฐ.
resolver 8.8.8.8;
# Cะพะฑะตัะตะผ ะฟััั ะบ ะฝะฐัะตะผั ัะฐะนะปั (ะผั ะฟะพัะพะผ ะฟะตัะตะดะฐะดะธะผ ะตะณะพ ะทะฐะณะพะปะพะฒะบะฐะผะธ).
set $download_url https://www.googleapis.com/drive/v3/files/$upstream_http_file_id?alt=media;
# ะ ัะฐะบ ะถะต Content-Disposition ะทะฐะณะพะปะพะฒะพะบ, ะธะผั ัะฐะนะปะฐ ะผั ะฟะตัะตะดะฐะดะธะผ ะพะฟััั ะถะต ะฒ ะทะฐะณะพะปะพะฒะบะฐั
.
set $content_disposition 'attachment; filename="$upstream_http_filename"';
# ะะฐะฟัะตัะธะผ ะฑัััะตัะธะทะธัะพะฒะฐัั ะพัะฒะตั ะฝะฐ ะดะธัะบ.
proxy_max_temp_file_size 0;
# ะ, ััะพ ะฝะตะผะฐะปะพะฒะฐะถะฝะพ, ะฟะตัะตะดะฐะดะธะผ ะทะฐะณะพะปะพะฒะพะบ ั ัะพะบะตะฝะพะผ (ะฝะต ะทะฝะฐั ะฟะพัะตะผั, ะฝะพ ะฒ ะทะฐะณะพะปะพะฒะบะฐั
ะธะท $http_upstream ัะพะบะตะฝ ะฟะตัะตะดะฐัั ะฝะต ะฟะพะปััะธะปะพัั. ะะตัะฝะตะต ะฟะตัะตะดะฐัั ะฟะพะปััะธะปะพัั, ะฝะพ ัะบะพัะตะน ะฒัะตะณะพ ะตะณะพ ะณะดะต-ัะพ ะฝัะถะฝะพ ัะบัะฐะฝะธัะพะฒะฐัั, ะฟะพัะพะผั ััะพ ะณัะณะป ะพัะดะฐะตั ะพัะธะฑะบั ะฐะฒัะพัะธะทะฐัะธะธ).
proxy_set_header Authorization 'Bearer $1';
# ะ ะฒัะต, ะพััะฐะปะพัั ะพัะฟัะฐะฒะธัั ะทะฐะฟัะพั ะณัะณะปั ะฟะพ ัะฐะฝะตะต ัะพะฑัะฐะฝะฝะพะผั ะฝะฐะผะธ ะฐะดัะตัั.
proxy_pass $download_url;
# ะ ััะพะฑ ั ะฟะพะปัะทะพะฒะฐัะตะปั ะฟัะธ ัะบะฐัะธะฒะฐะฝะธะธ ะพัะพะฑัะฐะทะธะปะพัั ะฟัะฐะฒะธะปัะฝะพะต ะธะผั ัะฐะนะปะฐ ะผั ะดะพะฑะฐะฒะธะผ ัะพะพัะฒะตัััะฒัััะธะน ะทะฐะณะพะปะพะฒะพะบ.
add_header Content-Disposition $content_disposition;
# ะะฟัะธะพะฝะฐะปัะฝะพ ะผะพะถะฝะพ ะฟะพัะฑะธัะฐัั ะฝะตะฝัะถะฝัะต ะฝะฐะผ ะทะฐะณะพะปะพะฒะบะธ ะพั ะณัะณะปะฐ.
proxy_hide_header Content-Disposition;
proxy_hide_header Alt-Svc;
proxy_hide_header Expires;
proxy_hide_header Cache-Control;
proxy_hide_header Vary;
proxy_hide_header X-Goog-Hash;
proxy_hide_header X-GUploader-UploadID;
}
เจเจฟเฉฑเจชเจฃเฉเจเจ เจคเฉเจ เจฌเจฟเจจเจพเจ เจเฉฑเจ เจเฉเจเจพ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเจเจพเฉเจฃ เจตเจพเจฒเฉ เจฆเฉ เจนเฉเจ เจพเจ เจตเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ
location ~* ^/google_drive/(.+)$ {
internal;
limit_rate 1m;
resolver 8.8.8.8;
set $download_url https://www.googleapis.com/drive/v3/files/$upstream_http_file_id?alt=media;
set $content_disposition 'attachment; filename="$upstream_http_filename"';
proxy_max_temp_file_size 0;
proxy_set_header Authorization 'Bearer $1';
proxy_pass $download_url;
add_header Content-Disposition $content_disposition;
proxy_hide_header Content-Disposition;
proxy_hide_header Alt-Svc;
proxy_hide_header Expires;
proxy_hide_header Cache-Control;
proxy_hide_header Vary;
proxy_hide_header X-Goog-Hash;
proxy_hide_header X-GUploader-UploadID;
}
เจเจธ เจธเจพเจฐเฉ เจเฉเจธเจผเฉ เจจเฉเฉฐ เจธเฉฐเจญเจพเจฒเจฃ เจฒเจ เจ เจธเฉเจ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจฒเจฟเจ เจฐเจนเฉ เจนเจพเจ
เจเจฆเจพเจนเจฐเจจ PHP เจตเจฟเฉฑเจ เจนเฉเจตเฉเจเฉ เจ เจคเฉ เจเจพเจฃเจฌเฉเฉฑเจ เจเฉ เจเฉฑเจเฉ-เจเฉฑเจ เจเจฟเฉฑเจ เจจเจพเจฒ เจฒเจฟเจเฉ เจเจพเจตเฉเจเฉเฅค เจฎเฉเจจเฉเฉฐ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจเฉเจ เจตเฉ เจเจฟเจธเจจเฉเฉฐ เจเจฟเจธเฉ เจนเฉเจฐ เจญเจพเจธเจผเจพ เจฆเจพ เจ เจจเฉเจญเจต เจนเฉ เจเจน เจฎเฉเจฐเฉ เจเจฆเจพเจนเจฐเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจธ เจญเจพเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจตเฉเจเจพเฅค
<?php
# ะขะพะบะตะฝ ะดะปั Google Drive Api.
define('TOKEN', '*****');
# ID ัะฐะนะปะฐ ะฝะฐ ะณัะณะป ะดะธัะบะต
$fileId = 'abcdefghijklmnopqrstuvwxyz1234567890';
# ะะฟัะธะพะฝะฐะปัะฝะพ, ะฝะพ ัะฐะบ ะบะฐะบ ะผั ะฝะต ะฟะตัะตะดะฐะตะผ ะฝะธะบะฐะบะธั
ะดะฐะฝะฝัั
- ะฟะพัะตะผั ะฑั ะธ ะฝะตั?
http_response_code(204);
# ะะฐะดะฐะดะธะผ ะทะฐะณะพะปะพะฒะพะบ c ID ัะฐะนะปะฐ (ะฒ ะบะพะฝัะธะณะฐั
nginx ะผั ะฟะพัะพะผ ะฟะพะปััะธะผ ะตะณะพ ะบะฐะบ $upstream_http_file_id).
header('File-Id: ' . $fileId);
# ะ ะทะฐะณะพะปะพะฒะพะบ ั ะธะผะตะฝะตะผ ัะฐะนะปะฐ (ัะพะพัะฒะตัััะฒะตะฝะฝะพ $upstream_http_filename).
header('Filename: ' . 'test.zip');
# ะะฝัััะตะฝะฝะธะน ัะตะดะธัะตะบั. ะ ะตัะต ะฒ ะฐะดัะตัะต ะผั ะฟะตัะตะดะฐะดะธะผ ัะพะบะตะฝ, ัะพั ัะฐะผัะน, ััะพ ะผั ะฟะพะปััะฐะตะผ ะธะท $1 ะฒ nginx.
header('X-Accel-Redirect: ' . rawurlencode('/google_drive/' . TOKEN));
เจจเจคเฉเจเฉ
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจน เจตเจฟเจงเฉ เจเจฟเจธเฉ เจตเฉ เจเจฒเจพเจเจก เจธเจเฉเจฐเฉเจ เจคเฉเจ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจซเจพเจเจฒเจพเจ เจฆเฉ เจตเฉฐเจก เจจเฉเฉฐ เจธเฉฐเจเจ เจฟเจค เจเจฐเจจเจพ เจเจพเจซเจผเฉ เจเจธเจพเจจ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉเฅค เจนเจพเจ, เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจเจพเจ VK เจคเฉเจ เจตเฉ, (เจฌเจธเจผเจฐเจคเฉ เจเจฟ เจซเจพเจเจฒ เจฆเจพ เจเจเจพเจฐ เจเจธ เจธเจเฉเจฐเฉเจ เจฆเฉ เจฎเจจเจเจผเฉเจฐเจธเจผเฉเจฆเจพ เจเจเจพเจฐ เจคเฉเจ เจตเฉฑเจง เจจเจพ เจนเฉเจตเฉ)เฅค เจฎเฉเจฐเฉ เจเฉเจฒ เจตเฉ เจเจธเฉ เจคเจฐเฉเจนเจพเจ เจฆเจพ เจตเจฟเจเจพเจฐ เจธเฉ
เจคเฉเจนเจพเจกเฉ เจงเจฟเจเจจ เจฒเจ เจงเฉฐเจจเจตเจพเจฆ. เจฎเฉเจจเฉเฉฐ เจเจฎเฉเจฆ เจนเฉ เจเจฟ เจฎเฉเจฐเฉ เจเจนเจพเจฃเฉ เจคเฉเจนเจพเจกเฉ เจฒเจ เจเฉฑเจเฉ เจเฉฑเจ เจฅเฉเฉเฉ เจฆเจฟเจฒเจเจธเจช เจเจพเจ เจเจชเจฏเฉเจเฉ เจธเฉ.
เจธเจฐเฉเจค: www.habr.com