這篇文章介紹的內容是關於phpexcel中文教程,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
首先到phpexcel官網上下載最新的phpexcel類,下週解壓縮一個classes資料夾,裡麵包含了PHPExcel.php和PHPExcel的資料夾,這個類別檔案和資料夾是我們需要的,把classes解壓縮到你專案的一個目錄中,重新名稱名為phpexcel,開始嘍,(程式碼都摘自自帶實例)
#
##程式部分
require_once './phpexcel/PHPExcel.php'; // 首先创建一个新的对象 PHPExcel object $objPHPExcel = new PHPExcel(); // 设置文件的一些属性,在xls文件——>属性——>详细信息里可以看到这些值,xml表格里是没有这些值的 $objPHPExcel ->getProperties() //获得文件属性对象,给下文提供设置资源 ->setCreator( "Maarten Balliauw") //设置文件的创建者 ->setLastModifiedBy( "Maarten Balliauw") //设置最后修改者 ->setTitle( "Office 2007 XLSX Test Document" ) //设置标题 ->setSubject( "Office 2007 XLSX Test Document" ) //设置主题 ->setDescription( "Test document for Office 2007 XLSX, generated using PHP classes.") //设置备注 ->setKeywords( "office 2007 openxml php") //设置标记 ->setCategory( "Test result file"); //设置类别 // 位置aaa *为下文代码位置提供锚 // 给表格添加数据 $objPHPExcel->setActiveSheetIndex(0) //设置第一个内置表(一个xls文件里可以有多个表)为活动的 ->setCellValue( 'A1', 'Hello' ) //给表的单元格设置数据 ->setCellValue( 'B2', 'world!' ) //数据格式可以为字符串 ->setCellValue( 'C1', 12) //数字型 ->setCellValue( 'D2', 12) // ->setCellValue( 'D3', true ) //布尔型 ->setCellValue( 'D4', '=SUM(C1:D2)' );//公式 //得到当前活动的表,注意下文教程中会经常用到$objActSheet $objActSheet = $objPHPExcel->getActiveSheet(); // 位置bbb *为下文代码位置提供锚 // 给当前活动的表设置名称 $objActSheet->setTitle('Simple2222'); 代码还没有结束,可以复制下面的代码来决定我们将要做什么 我们将要做的是 1,直接生成一个文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('myexchel.xlsx'); 2、提示下载文件 excel 2003 .xls // 生成2003excel格式的xls文件 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="01simple.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; excel 2007 .xlsx // 生成2007excel格式的xlsx文件 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="01simple.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory:: createWriter($objPHPExcel, 'Excel2007'); $objWriter->save( 'php://output'); exit; pdf 文件 // 下载一个pdf文件 header('Content-Type: application/pdf'); header('Content-Disposition: attachment;filename="01simple.pdf"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); $objWriter->save('php://output'); exit; // 生成一个pdf文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); $objWriter->save('a.pdf'); CSV 文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')->setDelimiter(',' ) //设置分隔符 ->setEnclosure('"' ) //设置包围符 ->setLineEnding("\r\n" )//设置行分隔符 ->setSheetIndex(0) //设置活动表 ->save(str_replace('.php' , '.csv' , __FILE__)); HTML 文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); //将$objPHPEcel对象转换成html格式的 $objWriter->setSheetIndex(0); //设置活动表 //$objWriter->setImagesRoot('http://www.example.com'); $objWriter->save(str_replace('.php', '.htm', __FILE__)); //保存文件 设置表格样式和数据格式 设置默认的字体和文字大小 锚:aaa $objPHPExcel->getDefaultStyle()->getFont()->setName( 'Arial'); $objPHPExcel->getDefaultStyle()->getFont()->setSize(20); 日期格式 锚:bbb //获得秒值变量 $dateTimeNow = time(); //三个表格分别设置为当前实际的 日期格式、时间格式、日期和时间格式 //首先将单元格的值设置为由PHPExcel_Shared_Date::PHPToExcel方法转换后的excel格式的值,然后用过得到该单元格的样式里面数字样式再设置显示格式 $objActSheet->setCellValue( 'C9', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); $objActSheet->getStyle( 'C9')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); $objActSheet->setCellValue( 'C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); $objActSheet->getStyle( 'C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4); $objActSheet->setCellValue( 'C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); $objActSheet->getStyle( 'C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4); //将E4到E13的数字格式设置为EUR $objPHPExcel->getActiveSheet()->getStyle( 'E4:E13')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE); 设置列的宽度 锚:bbb $objActSheet->getColumnDimension( 'B')->setAutoSize(true); //内容自适应 $objActSheet->getColumnDimension( 'A')->setWidth(30); //30宽 设置文件打印的页眉和页脚 锚:bbb //设置打印时候的页眉页脚(设置完了以后可以通过打印预览来看效果)字符串中的&*好像是一些变量 $objActSheet->getHeaderFooter()->setOddHeader( '&L&G&C&HPlease treat this document as confidential!'); $objActSheet->getHeaderFooter()->setOddFooter( '&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N' ); 设置页面文字的方向和页面大小 锚:bbb $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup:: ORIENTATION_LANDSCAPE); $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup:: PAPERSIZE_A4); //A4纸大小 为页眉添加图片 office中有效 wps中无效 锚:bbb $objDrawing = new PHPExcel_Worksheet_HeaderFooterDrawing(); $objDrawing->setName('PHPExcel logo'); $objDrawing->setPath('./images/phpexcel_logo.gif'); $objDrawing->setHeight(36); $objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT ); 设置单元格的批注 锚:bbb //给单元格添加批注 $objPHPExcel->getActiveSheet()->getComment( 'E13')->setAuthor('PHPExcel' ); //设置作者 $objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E13' )->getText()->createTextRun('PHPExcel:'); //添加批注 $objCommentRichText->getFont()->setBold( true); //将现有批注加粗 $objPHPExcel->getActiveSheet()->getComment( 'E13')->getText()->createTextRun("\r\n" ); //添加更多批注 $objPHPExcel->getActiveSheet()->getComment( 'E13')->getText()->createTextRun('Total amount on the current invoice, including VAT.' ); $objPHPExcel->getActiveSheet()->getComment( 'E13')->setWidth('100pt' ); //设置批注显示的宽高 ,在office中有效在wps中无效 $objPHPExcel->getActiveSheet()->getComment( 'E13')->setHeight('100pt' ); $objPHPExcel->getActiveSheet()->getComment( 'E13')->setMarginLeft('150pt' ); $objPHPExcel->getActiveSheet()->getComment( 'E13')->getFillColor()->setRGB('EEEEEE' ); //设置背景色 ,在office中有效在wps中无效 添加文字块 看效果图 office中有效 wps中无效 锚:bbb //大概翻译 创建一个富文本框 office有效 wps无效 $objRichText = new PHPExcel_RichText(); $objRichText->createText('This invoice is '); //写文字 //添加文字并设置这段文字粗体斜体和文字颜色 $objPayable = $objRichText->createTextRun( 'payable within thirty days after the end of the month'); $objPayable->getFont()->setBold( true); $objPayable->getFont()->setItalic( true); $objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) ); $objRichText->createText(', unless specified otherwise on the invoice.'); //将文字写到A18单元格中 $objPHPExcel->getActiveSheet()->getCell( 'A18')->setValue($objRichText); 合并拆分单元格 锚:bbb $objPHPExcel->getActiveSheet()->mergeCells( 'A28:B28'); // A28:B28合并 $objPHPExcel->getActiveSheet()->unmergeCells( 'A28:B28'); // A28:B28再拆分 单元格密码保护 锚:bbb // 单元格密码保护不让修改 $objPHPExcel->getActiveSheet()->getProtection()->setSheet( true); // 为了使任何表保护,需设置为真 $objPHPExcel->getActiveSheet()->protectCells( 'A3:E13', 'PHPExcel' ); // 将A3到E13保护 加密密码是 PHPExcel $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); //去掉保护 设置单元格字体 锚:bbb //将B1的文字字体设置为Candara,20号的粗体下划线有背景色 $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setName('Candara' ); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setSize(20); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); 文字对齐方式 锚:bbb $objPHPExcel->getActiveSheet()->getStyle( 'D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); //水平方向上对齐 $objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);//水平方向上两端对齐 $objPHPExcel->getActiveSheet()->getStyle( 'A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直方向上中间居中 设置单元格边框 锚:bbb $styleThinBlackBorderOutline = array( 'borders' => array ( 'outline' => array ( 'style' => PHPExcel_Style_Border::BORDER_THIN, //设置border样式 //'style' => PHPExcel_Style_Border::BORDER_THICK, 另一种样式 'color' => array ('argb' => 'FF000000'), //设置border颜色 ), ), ); $objPHPExcel->getActiveSheet()->getStyle( 'A4:E10')->applyFromArray($styleThinBlackBorderOutline); 背景填充颜色 锚:bbb //设置填充的样式和背景色 $objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->getStartColor()->setARGB('FF808080'); 综合设置样例 $objPHPExcel->getActiveSheet()->getStyle( 'A3:E3')->applyFromArray( array( 'font' => array ( 'bold' => true ), 'alignment' => array ( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT , ), 'borders' => array ( 'top' => array ( 'style' => PHPExcel_Style_Border::BORDER_THIN ) ), 'fill' => array ( 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR , 'rotation' => 90, 'startcolor' => array ( 'argb' => 'FFA0A0A0' ), 'endcolor' => array ( 'argb' => 'FFFFFFFF' ) ) ) ); 给单元格内容设置url超链接 锚:bbb $objActSheet->getCell('E26')->getHyperlink()->setUrl( 'http://www.phpexcel.net'); //超链接url地址 $objActSheet->getCell('E26')->getHyperlink()->setTooltip( 'Navigate to website'); //鼠标移上去连接提示信息 给表中添加图片 锚:bbb $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setName('Paid'); $objDrawing->setDescription('Paid'); $objDrawing->setPath('./images/paid.png'); //图片引入位置 $objDrawing->setCoordinates('B15'); //图片添加位置 $objDrawing->setOffsetX(210); $objDrawing->setRotation(25); $objDrawing->setHeight(36); $objDrawing->getShadow()->setVisible (true ); $objDrawing->getShadow()->setDirection(45); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); //还可以添加有gd库生产的图片,详细见自带实例25 创建一个新工作表和设置工作表标签颜色 锚:bbb $objExcel->createSheet(); $objPHPExcel->setActiveSheetIndex(1); //设置第2个表为活动表,提供操作句柄 $objExcel->getSheet(1)->setTitle( '测试2'); //直接得到第二个表进行设置,将工作表重新命名为测试2 $objPHPExcel->getActiveSheet()->getTabColor()->setARGB( 'FF0094FF'); //设置标签颜色 添加或删除行和列 锚:bbb $objPHPExcel->getActiveSheet()->insertNewRowBefore(6, 10); //在行6前添加10行 $objPHPExcel->getActiveSheet()->removeRow(6, 10); //从第6行往后删去10行 $objPHPExcel->getActiveSheet()->insertNewColumnBefore( 'E', 5); //从第E列前添加5类 $objPHPExcel->getActiveSheet()->removeColumn( 'E', 5); //从E列开始往后删去5列 隐藏和显示某列 锚:bbb $objPHPExcel->getActiveSheet()->getColumnDimension( 'C')->setVisible(false); //隐藏 $objPHPExcel->getActiveSheet()->getColumnDimension( 'D')->setVisible(true); //显示 重新命名活动的表的标签名称 锚:bbb $objPHPExcel->getActiveSheet()->setTitle( 'Invoice'); 设置工作表的安全 $objPHPExcel->getActiveSheet()->getProtection()->setPassword( 'PHPExcel'); $objPHPExcel->getActiveSheet()->getProtection()->setSheet( true); // This should be enabled in order to enable any of the following! $objPHPExcel->getActiveSheet()->getProtection()->setSort( true); $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows( true); $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells( true); 设置文档安全 锚:bbb $objPHPExcel->getSecurity()->setLockWindows( true); $objPHPExcel->getSecurity()->setLockStructure( true); $objPHPExcel->getSecurity()->setWorkbookPassword( "PHPExcel"); //设置密码 样式复制 锚:bbb //将B2的样式复制到B3至B7 $objPHPExcel->getActiveSheet()->duplicateConditionalStyle( $objPHPExcel->getActiveSheet()->getStyle( 'B2')->getConditionalStyles(), 'B3:B7' ); Add conditional formatting 锚:bbb echo date('H:i:s' ) , " Add conditional formatting" , PHP_EOL; $objConditional1 = new PHPExcel_Style_Conditional (); $objConditional1->setConditionType(PHPExcel_Style_Conditional ::CONDITION_CELLIS ); $objConditional1->setOperatorType(PHPExcel_Style_Conditional ::OPERATOR_BETWEEN ); $objConditional1->addCondition('200'); $objConditional1->addCondition('400'); 设置分页(主要用于打印) 锚:bbb //设置某单元格为页尾 $objPHPExcel->getActiveSheet()->setBreak( 'A' . $i, PHPExcel_Worksheet::BREAK_ROW ); 用数组填充表 锚:bbb //吧数组的内容从A2开始填充 $dataArray = array( array("2010" , "Q1", "United States", 790), array("2010" , "Q2", "United States", 730), ); $objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A2'); 设置自动筛选 锚:bbb $objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension()); //$objPHPExcel->getActiveSheet()->calculateWorksheetDimension()....得到A1行的所有内容个 打印出的到所有的公式 $objCalc = PHPExcel_Calculation::getInstance(); print_r($objCalc->listFunctionNames()) 设置单元格值的范围 锚:bbb $objValidation = $objPHPExcel->getActiveSheet()->getCell('B3' )->getDataValidation(); $objValidation->setType( PHPExcel_Cell_DataValidation:: TYPE_WHOLE ); $objValidation->setErrorStyle( PHPExcel_Cell_DataValidation:: STYLE_STOP ); $objValidation->setAllowBlank(true); $objValidation->setShowInputMessage( true); //设置显示提示信息 $objValidation->setShowErrorMessage( true); //设置显示错误信息 $objValidation->setErrorTitle('Input error'); //错误标题 //$objValidation->setShowDropDown(true); $objValidation->setError('Only numbers between 10 and 20 are allowed!'); //错误内容 $objValidation->setPromptTitle('Allowed input'); //设置提示标题 $objValidation->setPrompt('Only numbers between 10 and 20 are allowed.'); //提示内容 $objValidation->setFormula1(10); //设置最大值 $objValidation->setFormula2(120); //设置最小值 //或者这样设置 $objValidation->setFormula2(1,5,6,7); 设置值是1,5,6,7中的一个数 其他 $objPHPExcel->getActiveSheet()->getStyle( 'B5')->getAlignment()->setShrinkToFit(true); //长度不够显示的时候 是否自动换行 $objPHPExcel->getActiveSheet()->getStyle( 'B5')->getAlignment()->setShrinkToFit(true); //自动转换显示字体大小,使内容能够显示 $objPHPExcel->getActiveSheet()->getCell(B14)->getValue(); //获得值,有可能得到的是公式 $objPHPExcel->getActiveSheet()->getCell(B14)->getCalculatedValue();//获得算出的值 导入或读取文件 //通过PHPExcel_IOFactory::load方法来载入一个文件,load会自动判断文件的后缀名来导入相应的处理类,读取格式保含xlsx/xls/xlsm/ods/slk/csv/xml/gnumeric require_once '../Classes/PHPExcel/IOFactory.php'; $objPHPExcel = PHPExcel_IOFactory::load( //吧载入的文件默认表(一般都是第一个)通过toArray方法来返回一个多维数组 $dataArray = $objPHPExcel->getActiveSheet()->toArray(); //读完直接写到一个xlsx文件里 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //$objPHPExcel是上文中读的资源 $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); 读取xml文件 $objReader = PHPExcel_IOFactory:: createReader('Excel2003XML' ); $objPHPExcel = $objReader->load( "Excel2003XMLTest.xml" ); 读取ods文件 $objReader = PHPExcel_IOFactory:: createReader('OOCalc' ); $objPHPExcel = $objReader->load("OOCalcTest.ods" ); 读取numeric文件 $objReader = PHPExcel_IOFactory:: createReader('Gnumeric' ); $objPHPExcel = $objReader->load( "GnumericTest.gnumeric" ); 读取slk文件 $objPHPExcel = PHPExcel_IOFactory:: load("SylkTest.slk" ); 循环遍历数据 $objReader = PHPExcel_IOFactory::createReader('Excel2007' ); //创建一个2007的读取对象 $objPHPExcel = $objReader->load ("05featuredemo.xlsx" ); //读取一个xlsx文件 foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { //遍历工作表 echo 'Worksheet - ' , $worksheet->getTitle() , PHP_EOL; foreach ($worksheet->getRowIterator() as $row) { //遍历行 echo ' Row number - ' , $row->getRowIndex() , PHP_EOL; $cellIterator = $row->getCellIterator(); //得到所有列 $cellIterator->setIterateOnlyExistingCells( false); // Loop all cells, even if it is not set foreach ($cellIterator as $cell) { //遍历列 if (!is_null($cell)) { //如果列不给空就得到它的坐标和计算的值 echo ' Cell - ' , $cell->getCoordinate() , ' - ' , $cell->getCalculatedValue() , PHP_EOL; } } } } 数组插入的表中 //插入的数据 3行数据 $data = array( array('title' => 'Excel for dummies', 'price' => 17.99, 'quantity' => 2 ), array('title' => 'PHP for dummies', 'price' => 15.99, 'quantity' => 1 ), array('title' => 'Inside OOP', 'price' => 12.95, 'quantity' => 1 ) ); $baseRow = 5; //指定插入到第5行后 foreach($data as $r => $dataRow) { $row = $baseRow + $r; //$row是循环操作行的行号 $objPHPExcel->getActiveSheet()->insertNewRowBefore($row,1); //在操作行的号前加一空行,这空行的行号就变成了当前的行号 //对应的咧都附上数据和编号 $objPHPExcel->getActiveSheet()->setCellValue( 'A'.$row, $r+1); $objPHPExcel->getActiveSheet()->setCellValue( 'B'.$row, $dataRow['title']); $objPHPExcel->getActiveSheet()->setCellValue( 'C'.$row, $dataRow['price']); $objPHPExcel->getActiveSheet()->setCellValue( 'D'.$row, $dataRow['quantity']); $objPHPExcel->getActiveSheet()->setCellValue( 'E'.$row, '=C'.$row.'*D' .$row); } $objPHPExcel->getActiveSheet()->removeRow($baseRow-1,1); //最后删去第4行,这是示例需要,在此处为大家提供删除实例
相關推薦:
以上是phpexcel中文教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在PHP中,trait適用於需要方法復用但不適合使用繼承的情況。 1)trait允許在類中復用方法,避免多重繼承複雜性。 2)使用trait時需注意方法衝突,可通過insteadof和as關鍵字解決。 3)應避免過度使用trait,保持其單一職責,以優化性能和提高代碼可維護性。

依賴注入容器(DIC)是一種管理和提供對象依賴關係的工具,用於PHP項目中。 DIC的主要好處包括:1.解耦,使組件獨立,代碼易維護和測試;2.靈活性,易替換或修改依賴關係;3.可測試性,方便注入mock對象進行單元測試。

SplFixedArray在PHP中是一種固定大小的數組,適用於需要高性能和低內存使用量的場景。 1)它在創建時需指定大小,避免動態調整帶來的開銷。 2)基於C語言數組,直接操作內存,訪問速度快。 3)適合大規模數據處理和內存敏感環境,但需謹慎使用,因其大小固定。

PHP通過$\_FILES變量處理文件上傳,確保安全性的方法包括:1.檢查上傳錯誤,2.驗證文件類型和大小,3.防止文件覆蓋,4.移動文件到永久存儲位置。

JavaScript中處理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。 1.??返回第一個非null或非undefined的操作數。 2.??=將變量賦值為右操作數的值,但前提是該變量為null或undefined。這些操作符簡化了代碼邏輯,提高了可讀性和性能。

CSP重要因為它能防範XSS攻擊和限制資源加載,提升網站安全性。 1.CSP是HTTP響應頭的一部分,通過嚴格策略限制惡意行為。 2.基本用法是只允許從同源加載資源。 3.高級用法可設置更細粒度的策略,如允許特定域名加載腳本和样式。 4.使用Content-Security-Policy-Report-Only頭部可調試和優化CSP策略。

HTTP請求方法包括GET、POST、PUT和DELETE,分別用於獲取、提交、更新和刪除資源。 1.GET方法用於獲取資源,適用於讀取操作。 2.POST方法用於提交數據,常用於創建新資源。 3.PUT方法用於更新資源,適用於完整更新。 4.DELETE方法用於刪除資源,適用於刪除操作。

HTTPS是一種在HTTP基礎上增加安全層的協議,主要通過加密數據保護用戶隱私和數據安全。其工作原理包括TLS握手、證書驗證和加密通信。實現HTTPS時需注意證書管理、性能影響和混合內容問題。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1
強大的PHP整合開發環境

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境