Php 使用波兰语字母进行URL编码无效
我对urlencode有点问题,我文件夹中的文件有波兰语字母,如ą、ę、ć、ś等。但当我单击链接时,它不起作用。我做错了什么?这是我的代码:Php 使用波兰语字母进行URL编码无效,php,Php,我对urlencode有点问题,我文件夹中的文件有波兰语字母,如ą、ę、ć、ś等。但当我单击链接时,它不起作用。我做错了什么?这是我的代码: <?php function rozszerzenie($plik){ preg_match("/\.([^\.]+)$/", $plik, $matches); if( count( $matches ) > 0 ) {
<?php
function rozszerzenie($plik){
preg_match("/\.([^\.]+)$/", $plik, $matches);
if( count( $matches ) > 0 ) {
return $matches[1];
}
return false;
}
$path = "pliki/";
$dir = new DirectoryIterator($path);
foreach ($dir as $fileinfo) {
$rozsz = rozszerzenie($fileinfo);
$doc='<div class="dopobrania"><a href="'.$path.urlencode($dir).'" target=_blank>'.$fileinfo.'</a></div>';
$pdf='<div class="dopobrania_pdf"><a href="'.$path.urlencode($dir).'" target=_blank>'.$fileinfo.'</a></div>';
$zip='<div class="dopobrania_zip"><a href="'.$path.urlencode($dir).'" target=_blank>'.$fileinfo.'</a></div>';
$inny='<div class="dopobrania_inny"><a href="'.$path.urlencode($dir).'" target=_blank>'.$fileinfo.'</a></div>';
if($rozsz == "doc"){
echo $doc;
}
elseif($rozsz == "pdf"){
echo $pdf;
}
elseif($rozsz == "zip"){
echo $zip;
}
else {
echo $inny;
};
}
?>
您正在对数组进行URL编码:
foreach ($dir as $fileinfo) {
^---array
$doc='<div class="dopobrania"><a href="'.$path.urlencode($dir).'"
^----array
您可能需要urlencode($fileinfo)
php > $a = array();
php > echo urlencode($a);
PHP Warning: urlencode() expects parameter 1 to be string, array given in php shell code on line 1