Как да изтеглите (качване) файл PHP - PHP и MySQL програмиране

Това е необходимо, за да се разбере това, което работи.

  • посочвате файла в браузъра, за да качите;
  • браузърът изпраща избрания файл в сървъра;
  • PHP интерпретатор на сървъра пише получения файл за временна директория. Освен това, наименованието, под което се записва файла, тя може да бъде напълно случайна. Тя е само под Windows PHP пише имената на тези файлове PHP2.
  • Ние по принцип не трябва да се знае при което се нарича изтегления файл се съхранява в временна директория. Защо трябва ние не знаем?
  • Защото, това е достатъчно, че PHP «знае». И във всеки случай, след завършване на сценария, този файл се изтрива.
  • Вие кажете PHP, че изтегления файл трябва да се копира от временната директория, в която искате.

В този процес на "цялостната качване" от своя страна може да се счита за приключила.

Какво тогава правим с нея, е друг въпрос.

И пак всички трудности по Win32, свързани с "липса на разбиране" тип система дизайн «\ PHP2»; (Кой има опит, да разбират) лъжа във файла php.ini (php3.ini) Лично за мен, това изглежда така (емпирично получени):

С тези настройки, няма проблем, аз не забеляза. Опитайте.

Сега, за ограничаване на размера на качения файл. Разбира се, има upload_max_filesize в php.ini опция, можете да ограничите двата размера и вида на индикация за съответните параметри в маркера за ФОРМА, но във всеки от тези случаи, ние получите съобщение за грешка, че не може да бъде обработена. Това не е здравословно. Поради това е по-удобно да се ограничи размера на сценария.

НО: размерът на файла не може да бъде намерен, за да завършите сваляне на файлове на сървъра. В никакъв начин.

Също така, когато uploade, докато изтеглянето завърши, файлът се съхранява в паметта, след което е писано за временна директория, и, още веднъж да ви напомня, след изваждане от темп на изключване. По принцип използването на PHP не може да се направи индикатор за качване на файлове.

Така че първо ние upload.html файл, който изглежда така:

Сега, на самия скрипт:

Така че, ако не си направи труда да отвори Ръководството, казва (въпреки, FAQ, той, разбира се, често задавани въпроси, но четенето не е прекратен manual'ov):

Под формата на поле с тип име на файла и ФАЙЛ_1. Когато качване на файлове в момента изпитваме променливи:

  • $ ФАЙЛ_1 - името на файла във временна директория;
  • $ File1_name - оригиналното име на файла;
  • $ File1_type - MIME тип файл;
  • $ File1_size - размер на файла;

Крайният докосване: в действителност, ако имате нужда да изтеглите множество файлове, не е необходимо да се използва по-горе структура. По-добре е да се обадите на полето, за да въведете името на файла, например, да подаде [], а след това направи разбор на получения масив от файла [] вече.

потенциални проблеми

Така че, вие сте направили форма за общите качвате файлове, които сте направили скрипт, който приема качване на файлове, но сега следния проблем:

Изображенията са изтеглени, но не са показани. Двоични файлове са заредени, но не са започнали (или не разопаковани, ако този архив).

Основната причина за този проблем - руски Apache.

Това беше той (т.е. уеб сървър), прекодира всичко, което е под ръка. Следователно, след като преобразуване, файлове са заместени (рекодират) някои символи. Какво да се избегне това има няколко решения:

1) В директорията, където сценарият е да се направи Upload'a файл (.htaccess), в която пишем:

2) В досието httpd.conf да добавите ред:

Обикновено това е достатъчно, за да реши проблема.

Качване и PHP4

в PHP4 работа с upload`ami стана малко по-различен. Сега цялата информация за файловете, съхранявани в напоена масива $ HTTP_POST_FILES например:

ако бяхме във формата, както следва: информацията за файла трябва да изглежда тук:

оригиналното име на файла. Например «screen1.jpg»

мим тип файл. Например «изображение / GIF».

Размерът на файла в байтове

Временно името на файла на сървъра.

Допълнителна информация за

Архивиране на файлове с PHP наръчник с примери и препоръки на опитни програмисти

Как да проведе защита срещу спамерите използвайки PHP - PHP код, за проверка на данни и пример

Няколко прости съвета за това как да запазите паролата си от любопитни очи и ръце

Тази статия описва какво скенера и как да се създаде това устройство