Как да направя Апачето ми да поддържа кирилица?

unicant

Registered
Значи проблема ми е този че като отворя една страница по нормалния начин без да ползвам http://localhost/stranicata.html , а ползвам c:/i_taka_natatyk ми работят линковете към 2 картинка дето са на бг език, а като го отворя по първия начин не става. Не мога да преименувам картинките, защото ще ползвам ъплоуд скрипт на PHP и няма да е удобно да карам посетителите да си преименуват снимките. Извинявам се на модераторите ако темата ми не е за тук, ама не намерих по подходящ раздел.
 
Като отворя страницата ми през локалхост(http://localhost/index.html) и не ми зарежда картинката(името й е на кирилица), пробвах без локалхост, в смисъл самият път до страницата(c:/apache/htdocs/index.html) и ми я зарежда.
 
unicant каза:
Като отворя страницата ми през локалхост(http://localhost/index.html) и не ми зарежда картинката(името й е на кирилица), пробвах без локалхост, в смисъл самият път до страницата(c:/apache/htdocs/index.html) и ми я зарежда.

Не трябва името на файла да е на кирилица.
 
А няма ли начин да стане като е на кирилица, защото посетителите на сайта който правя ще трябва сами да преименуват картинките, а това няма да е приятно?
 
unicant каза:
А няма ли начин да стане като е на кирилица, защото посетителите на сайта който правя ще трябва сами да преименуват картинките, а това няма да е приятно?

Просто трябва да забраниш качването на картинки с кирилица в името.
С какво ги качват тези картинки?
С upload скрипт ли?
Аз ще ти напиша допълнението към скрипта с което ще забраняваш
да качват картинки с БГ в името.
 
Ето го кода на ъплоуд скрипта:
Код:
<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
//   You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//Mmaximum file size. You may increase or decrease.
$MAX_SIZE = 2000000;
                            
//Allowable file Mime Types. Add more mime types if you want
$FILE_MIMES = array('image/jpeg','image/jpg','image/gif'
                   ,'image/png','application/msword');

//Allowable file ext. names. you may add more extension names.            
$FILE_EXTS  = array('.zip','.jpg','.png','.gif'); 

//Allow file delete? no, if only allow upload only
$DELETABLE  = true;                               


//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
//   Do not touch the below if you are not confident.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/************************************************************
 *     Setup variables
 ************************************************************/
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "files/";
$upload_url = $url_dir."/files/";
$message ="";

/************************************************************
 *     Create Upload Directory
 ************************************************************/
if (!is_dir("files")) {
  if (!mkdir($upload_dir))
  	die ("Папката за ъплоуд не съществува и създаването й беше неуспешно!");
  if (!chmod($upload_dir,0755))
  	die ("Промяната на правото на достъп до файлове на 755 беше неуспешно!");
}

/************************************************************
 *     Process User's Request
 ************************************************************/
if ($_REQUEST[del] && $DELETABLE)  {
  $resource = fopen("log.txt","a");
  fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
  fclose($resource);
  
  if (strpos($_REQUEST[del],"/.")>0);                  //possible hacking
  else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking
  else if (substr($_REQUEST[del],0,6)==$upload_dir) {
    unlink($_REQUEST[del]);
    print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
  }
}
else if ($_FILES['userfile']) {
  $resource = fopen("log.txt","a");
  fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
            .$_FILES['userfile']['name']." "
            .$_FILES['userfile']['type']."\n");
  fclose($resource);

	$file_type = $_FILES['userfile']['type']; 
  $file_name = $_FILES['userfile']['name'];
  $file_ext = strtolower(substr($file_name,strrpos($file_name,".")));

  //File Size Check
  if ( $_FILES['userfile']['size'] > $MAX_SIZE) 
     $message = "Файлът е повече от 200кбайта.";
  //File Type/Extension Check
  else if (!in_array($file_type, $FILE_MIMES) 
          && !in_array($file_ext, $FILE_EXTS) )
     $message = "Съжалявам, този тип файлове не могат да бъдат качени.";
  else
     $message = do_upload($upload_dir, $upload_url);
  
  print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else 
	$message = "Невалиден файл!";

/************************************************************
 *     List Files
 ************************************************************/
$handle=opendir($upload_dir);
$filelist = "";
while ($file = readdir($handle)) {
   if(!is_dir($file) && !is_link($file)) {
      $filelist .= "<a href='$upload_dir$file'>".$file."</a>";
      if ($DELETABLE)
        $filelist .= " <a href='?del=$upload_dir".urlencode($file)."' title='delete'>x</a>";
      $filelist .= "<sub><small><small><font color=grey>  ".date("d-m H:i", filemtime($upload_dir.$file))
                   ."</font></small></small></sub>";
      $filelist .="<br>";
   }
}

function do_upload($upload_dir, $upload_url) {

	$temp_name = $_FILES['userfile']['tmp_name'];
	$file_name = $_FILES['userfile']['name']; 
  $file_name = str_replace("\\","",$file_name);
  $file_name = str_replace("'","",$file_name);
	$file_path = $upload_dir.$file_name;

	//File Name Check
  if ( $file_name =="") { 
  	$message = "Посочено е невалидно име!";
  	return $message;
  }

  $result  =  move_uploaded_file($temp_name, $file_path);
  if (!chmod($file_path,0777))
   	$message = "Промяната на правото на достъп до файлове на 777 беше неуспешно!";
  else
    $message = ($result)?"Качването на $file_name премина успешно." :
     	      "Възникна грешка с качването на файла.";
  return $message;
}

?>

<center>
   <font color=red><?=$_REQUEST[message]?></font>
   <br>
   <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
     Upload File <input type="file" id="userfile" name="userfile">
     <input type="submit" name="upload" value="Upload">
   </form>
   
   <br><b>My Files</b>
   <hr width=70%>
   <?=$filelist?>
   <hr width=70%>
</center>
Ако ти се струва излишно дълъг може да го промениш. Аз ще го разбера.
 
Кода си е екстра.
Само малко да го променим.

Ето какво ще направиш.
НАмираш ето този ред :
Код:
  if ( $file_name =="") {

И го заменяш с това:
Код:
 if(!eregi('^[.a-zA-Z0-9_]+$',$file_name)) {

Така ще могат да качват само файлове които съдържат латински букви,цифри или долна черта.
ПРобвай го.
Аз го пробвах и си работи екстра.
 
Мерси много.
 

Горе