Cum se descarcă (încărcare) un fișier PHP - PHP și programare MySQL
Acest lucru este necesar pentru o înțelegere a ceea ce funcționează.
- specificați un fișier în browser pentru a încărca;
- browserul trimite fișierul selectat la server;
- PHP interpret pe server scrie fișierul rezultat într-un director temporar. Mai mult decât atât, denumirea sub care este înregistrată fișierul, acesta poate fi complet aleatoare. Acesta este doar sub Windows PHP scrie numele acestor fișiere PHP2.
- Suntem, în principiu, nu trebuie să știe în ce se numește fișierul descărcat este stocat într-un director temporar. De ce să nu cunoaștem noi?
- Pentru că, este suficient ca PHP «știe». Și, în orice caz, după finalizarea script-ul, acest fișier este șters.
- Spune-i PHP, că fișierul descărcat trebuie să fie copiate din directorul temporar în cazul în care doriți.
În acest proces de „încărcare totală“ în sine poate fi considerată completă.
Ce apoi face cu ea, este o altă întrebare.
Și din nou, toate dificultățile din cadrul Win32 legate de „lipsa de înțelegere“ tip de sistem de proiectare «\ PHP2»; (Cine este experimentat, să înțeleagă) se află în fișierul php.ini (php3.ini) Personal pentru mine, se pare ca acest lucru (derivat empiric):
Cu aceste setări, nici o problema, nu am observat. Încearcă.
Acum, despre limitarea dimensiunea fișierului încărcat. Desigur, există upload_max_filesize în opțiunea php.ini, puteți limita atât dimensiunea și tipul indicarea parametrilor relevanți în tag-ul FORM, dar în oricare dintre aceste cazuri, obținem o eroare care nu poate fi procesată. Asta nu e sănătos. Prin urmare, este mai convenabil pentru a limita dimensiunea de script-ul.
DAR: dimensiunea fișierului nu poate fi găsit pentru a finaliza descărcarea fișierelor pe un server. În nici un fel.
De asemenea, atunci când uploade, până când descărcarea este completă, fișierul este stocat în memorie, atunci este scris într-un director temporar, și, încă o dată vă reamintesc, odată îndepărtat de la temperatura la închidere. În general, folosind PHP nu se poate face indicator pentru a încărca fișiere.
Deci, în primul rând am upload.html fișier care arata ca acest lucru:
Acum, script-ul în sine:
Deci, dacă nu te-ai deranjat să deschidă Manualul, spune (cu toate că, FAQ, el, desigur, FAQ, dar lectura nu a fost anulat manual'ov):
În forma unui câmp cu tipul = nume de fișier și fișier1. Când încărcarea fișierelor, avem variabile:
- $ File1 - numele de fișier într-un director temporar;
- $ File1_name - numele original al fișierului;
- $ File1_type - tip MIME de fișier;
- $ File1_size - dimensiunea fișierului;
Atingerea finală: de fapt, în cazul în care aveți nevoie pentru a descărca mai multe fișiere, nu este necesar să se utilizeze structura de mai sus. Este mai bine pentru a apela câmpul pentru a introduce numele fișierului, de exemplu, fișierul [], iar apoi analiza matrice rezultat de fișier [] deja.
potențiale erori
Deci, ai făcut un formular pentru fișierele generale de încărcare pe care ați făcut un script care acceptă Uploaded, dar acum următoarea problemă:
Imaginile sunt descărcate, dar nu sunt afișate. Fișierele binare sunt încărcate, dar nu a început (sau nu neambalat, în cazul în care această arhivă).
Motivul principal pentru această problemă - Rusă Apache.
A fost el (de exemplu, server web) codificați toate că orice este la îndemână. În consecință, după o astfel de conversie, fișierele sunt substituite (recodate) unele caractere. Ce se poate evita acest lucru există mai multe soluții:
1) În directorul în care script-ul este de a face fișier Upload'a (.htaccess), în care scrie:
2) În fișierul httpd.conf pentru a adăuga linia:
De obicei, acest lucru este suficient pentru a rezolva problema.
Încărcați și PHP4
în PHP4 de lucru cu upload`ami a devenit oarecum diferită. Acum, toate informațiile despre fișierele stocate în matrice inmuiat $ HTTP_POST_FILES, de exemplu:
dacă am fost în formă, după cum urmează: informațiile despre fișierul ar trebui să arate aici:
Numele original de fișier. De exemplu, «screen1.jpg»
fișier de tip mime. De exemplu, «imagine / gif».
Dimensiunea fișierului în octeți
nume de fișier temporar pe server.
Informații suplimentare privind
arhivare fisiere cu manualul PHP cu exemple și recomandări de programatori cu experiență
Cum să efectueze o protecție împotriva spam folosind PHP - cod PHP, validarea datelor și de exemplu,
Câteva sfaturi simple cu privire la modul de a salva parola de ochii indiscreti și mâinile
Acest articol descrie ceea ce scanerul și cum să configurați acest dispozitiv