Rumah >Operasi dan penyelenggaraan >phpstudy >Bagaimana saya menggunakan phpstudy untuk menguji muat naik fail dalam php?
Untuk menggunakan PHPStudy untuk menguji muat naik fail dalam PHP, anda perlu mengikuti langkah -langkah ini:
Sediakan persekitaran ujian :
localhost
), pilih direktori root, dan pilih versi PHP yang sesuai.Buat fail PHP untuk memuat naik fail :
C:\phpStudy\WWW
untuk Windows). Buat fail PHP baru, misalnya, upload.php
, dan tulis kod yang diperlukan untuk mengendalikan muat naik fail. Contoh asas mungkin kelihatan seperti ini:
<code class="php"> <form action="upload.php" method="post" enctype="multipart/form-data"> Select file to upload: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Upload File" name="submit"> </form> <?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); if(isset($_POST["submit"])) { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } } ?></code>
Uji muat naik fail :
http://localhost/upload.php
dalam pelayar web anda.uploads
.Semasa menguji fail muat naik dengan phpstudy, anda mungkin menghadapi isu -isu biasa berikut:
uploads
.upload_max_filesize
dan post_max_size
yang mungkin menyekat muat naik fail yang lebih besar. Anda mungkin perlu menyesuaikan tetapan ini dalam php.ini
.max_execution_time
dalam php.ini
untuk mengurangkan isu ini.fileinfo
) untuk pengendalian fail yang betul. Pastikan semua sambungan yang diperlukan diaktifkan dalam php.ini
.Untuk mengkonfigurasi PHPStudy untuk mengendalikan muat naik fail besar dalam PHP, ikuti langkah -langkah ini:
php.ini
: Cari fail php.ini
dalam pemasangan phpstudy anda. Ia biasanya terletak di folder php
versi PHP tertentu yang anda gunakan.Laraskan Tetapan Saiz Fail :
php.ini
dan cari tetapan upload_max_filesize
dan post_max_size
.Meningkatkan nilai -nilai ini untuk menampung fail yang lebih besar. Contohnya:
<code>upload_max_filesize = 100M post_max_size = 100M</code>
post_max_size
sekurang -kurangnya sebesar upload_max_filesize
.Meningkatkan Masa Pelaksanaan :
Cari tetapan max_execution_time
dan tambahkannya untuk membolehkan masa muat naik yang lebih lama, sebagai contoh:
<code>max_execution_time = 300</code>
httpd.conf
, seperti LimitRequestBody
.Semasa menguji fail muat naik dengan phpstudy, melaksanakan langkah -langkah keselamatan berikut dapat membantu melindungi sistem anda:
Mengesahkan jenis fail : Hanya membenarkan jenis fail tertentu dimuat naik dengan menyemak pelanjutan fail dan jenis mime. Gunakan lanjutan finfo
dalam PHP untuk mengesahkan jenis MIME.
<code class="php">$finfo = finfo_open(FILEINFO_MIME_TYPE); $mime_type = finfo_file($finfo, $_FILES['fileToUpload']['tmp_name']); if (in_array($mime_type, ['image/jpeg', 'image/png'])) { // File type is valid } else { // File type is not valid } finfo_close($finfo);</code>
upload_max_filesize
tetapan dan pemeriksaan tambahan dalam skrip anda untuk mengelakkan fail yang berlebihan besar daripada dimuat naik.Gunakan penamaan fail yang selamat : Namakan semula fail yang dimuat naik untuk mengelakkan penggantian fail sedia ada dan untuk mengelakkan menyimpan fail fail yang mungkin mengandungi kod berniat jahat. Pertimbangkan menggunakan gabungan cap waktu dan rentetan rawak.
<code class="php">$new_filename = uniqid() . '-' . $_FILES['fileToUpload']['name'];</code>
C:\phpStudy\secure_uploads
bukannya C:\phpStudy\WWW\uploads
.Melaksanakan Perlindungan CSRF : Gunakan token untuk mengelakkan serangan pemalsuan permintaan lintas tapak apabila menyerahkan borang muat naik fail.
<code class="php">session_start(); $token = bin2hex(random_bytes(32)); $_SESSION['csrf_token'] = $token; // In your HTML form <input type="hidden" name="csrf_token" value="<?php echo $token; ?>"> // And in your PHP script when processing the upload if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) { die("CSRF token mismatch"); }</code>
Dengan melaksanakan langkah -langkah keselamatan ini, anda dapat mengurangkan risiko yang berkaitan dengan muat naik fail dalam persekitaran ujian PHPStudy anda.
Atas ialah kandungan terperinci Bagaimana saya menggunakan phpstudy untuk menguji muat naik fail dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!