Cara menetapkan saiz imej muat naik dalam PHP: 1. Buka fail "php.conf" 2. Tetapkan "ini_set('max_input_time','90');"; 'post_max_size' , '12M');" Itu sahaja.
Persekitaran pengendalian artikel ini: sistem linux5.9.8, PHP versi 7.1, komputer Dell G3.
Bagaimana untuk menetapkan saiz imej muat naik dalam PHP?
Cara menetapkan saiz muat naik fail imej dalam PHP
Had muat naik lalai PHP ialah maksimum 2M jika anda ingin memuat naik fail yang melebihi tetapan ini , anda perlu melaraskan PHP , beberapa parameter apache, dsb.
Di bawah, kami memperkenalkan secara ringkas beberapa parameter yang terlibat dalam muat naik fail PHP:
fail_muat naik: sama ada membenarkan muat naik fail melalui suis HTTP, lalainya adalah HIDUP.
upload_tmp_dir: upload_tmp_dir digunakan untuk menerangkan direktori sementara di mana fail yang dimuat naik oleh PHP diletakkan Jika anda ingin memuat naik fail, anda mesti memastikan bahawa pelayan tidak menutup fail sementara dan mempunyai kebenaran menulis pada folder. . Jika tidak dinyatakan, PHP menggunakan nilai lalai sistem.
upload_max_filesize: Saiz fail muat naik maksimum yang dibenarkan, lalai ialah 2M.
post_max_size: Mengawal jumlah maksimum data yang PHP boleh terima semasa penyerahan borang menggunakan kaedah POST. Jika anda ingin menggunakan fungsi muat naik fail PHP, anda perlu menukar nilai ini menjadi lebih besar daripada upload_max_filesize.
max_input_time: Hadkan masa dalam saat untuk menerima data melalui kaedah POST, GET dan PUT. Jika aplikasi anda berjalan pada pautan perlahan, anda mungkin perlu meningkatkan nilai ini untuk menampung masa tambahan yang diperlukan untuk menerima data.
memory_limit: Untuk mengelakkan skrip dijalankan daripada menggunakan sejumlah besar memori sistem yang tersedia, PHP membenarkan penentuan had penggunaan memori. Gunakan pembolehubah memory_limit untuk menentukan kapasiti memori maksimum yang boleh digunakan oleh satu skrip Nilai limit_memori pembolehubah sepatutnya lebih besar daripada nilai post_max_size.
max_execution_time: max_execution_time menetapkan masa PHP menunggu skrip selesai sebelum menamatkan skrip secara paksa. Pembolehubah ini berguna apabila skrip memasuki gelung tak terhingga. Walau bagaimanapun, ciri ini juga boleh menyebabkan operasi gagal apabila terdapat aktiviti sah yang mengambil masa yang lama untuk diselesaikan (seperti memuat naik fail besar). Dalam kes sedemikian, anda mesti mempertimbangkan untuk meningkatkan nilai pembolehubah ini untuk menghalang PHP daripada menutup skrip semasa ia melaksanakan beberapa proses penting.
Untuk hos Linux, mungkin terdapat fail php.conf di bawah /etc/httpd/conf.d/access.conf/. Fail ini mungkin menyelesaikan masalah had saiz fail bagi sesetengah sistem.
Tambahkan kod berikut pada muat naik PHP untuk membolehkan PHP memuat naik fail besar buat sementara waktu, seperti berikut:
<?php //HTTP上传文件的开关,默认为ON即是开 ini_set('file_uploads','ON'); //通过POST、GET以及PUT方式接收数据时间进行限制为90秒 默认值:60 ini_set('max_input_time','90'); //脚本执行时间就由默认的30秒变为180秒 ini_set('max_execution_time', '180'); //Post变量由2M修改为8M,此值改为比upload_max_filesize要大 ini_set('post_max_size', '12M'); //上传文件修改也为8M,和上面这个有点关系,大小不等的关系。 ini_set('upload_max_filesize','10M'); //正在运行的脚本大量使用系统可用内存,上传图片给多点,最好比post_max_size大1.5倍 ini_set('memory_limit','20M'); ?>
Semak sama ada pembolehubah di atas telah berjaya diubah suai:
<?php echo ini_get('file_uploads')."\n"; echo ini_get('max_input_time')."\n"; echo ini_get('max_execution_time')."\n"; echo ini_get('post_max_size')."\n"; echo ini_get('upload_max_filesize')."\n"; echo ini_get('memory_limit')."\n"; ?>
Diubah suai dalam php.ini, melibatkan hubungan kekangan saiz tiga nilai. Jadi ia adalah penyelesaian sementara Mengapa ini tidak boleh diubah suai mempunyai banyak kaitan dengan mod operasi PHP, seperti mod selamat.
Arahan ini_set tidak boleh digunakan dalam mod selamat: max_execution_time, memory_limit, child_terminate.
Oleh itu, seperti post_max_size, upload_max_filesize tidak boleh diubah suai dengan kaedah berikut:
ini_set('post_max_size','10M'); ini_set('upload_max_filesize','8M');
Cara yang betul ialah menggunakan fail .htaccess:
php_value upload_max_filesize 8M php_value post_max_size 10M
Premis ialah Tapak ini dikonfigurasikan dalam httpd.conf: AllowOverride All.
Adalah dinyatakan dalam dokumentasi PHP bahawa julat upload_max_filesize yang boleh diubah suai ialah PHP_INI_PERDIR. PHP_INI_PERDIR bermaksud arahan domain boleh diubah suai dalam fail php.ini, httpd.conf atau .htaccess. Arahan domain PHP_INI_SYSTEM boleh diubah suai dalam fail php.ini dan httpd.conf. Oleh itu, upload_max_filesize tidak boleh diubah suai menggunakan int_set. Hanya julat yang boleh diubah suai ialah PHP_INI_ALL boleh diubah suai dengan int_set.
Cara mendapatkan nilai:
if(@ini_get("file_uploads")) { $arrInfo['fileupload'] = "允许 - 文件 ".ini_get("upload_max_filesize")." - 表单:".ini_get("post_max_size"); } else { $arrInfo['fileupload'] = "<font color='red'>禁止</font>"; } if (get_cfg_var('register_globals')){ $arrInfo['onoff'] ="打开"; }else{ $arrInfo['onoff'] = "关闭"; }
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menetapkan saiz muat naik imej dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!