Witam,
Posiadam formularz dodawania rozporządzenia. Kiedy dodaję rozdział dotyczący danego rozporządzenia to jego nazwy są często bardzo długie. Np. Służba wojskowa żołnierzy zawodowych i żołnierzy pełniących służbę kandydacką w razie ogłoszenia mobilizacji, ogłoszenia stanu wojennego i w czasie wojny.
Znalazłem funkcję ucinającą znaki, tylko mam problem z jej zastosowaniem.
dodawanie_rozporzadzenia.php
<?php
session_start();
include_once("funkcje.php");
//print_r($_POST);
//print_r($_FILES);
if($_SESSION['zalogowany']>0){
if($_SESSION['idTypUser']<>1){
include_once("blad_wejscia.php");
}else{
$link=polacz();
echo $nazwa=$_POST['nazwa'];
$dziennik=$_POST['dziennik'];
$data_wejscia=$_POST['data_wejscia'];
$id_rozdzial=$_POST['id_rozdzial'];
echo $plik=$_FILES['plik_upload']['name'];
if (strstr($_POST['dodaj'],'zapisz')!==FALSE){
$zapisz="insert into rozporzadzenia values(null,'$nazwa','$dziennik','$data_wejscia',$id_rozdzial,'$plik')";
$wynik = mysql_query($zapisz);
echo $id = mysql_insert_id($link);
}
$f = $_FILES['plik_upload'];
IF(isset($f['name']))
{
copy($f['tmp_name'], 'tymcz/'.$f['name']);
//lub
rename($f['tmp_name'], 'tymcz/'.$f['name']);
//lub
move_uploaded_file($f['tmp_name'], 'tymcz/'.$f['name']);
}
form();
echo '
<div id="content-wrap">
<div id="main">';
polacz();
$id=mysql_query("SELECT * FROM rozdzial");
echo '
<form enctype="multipart/form-data" action="" method="POST">
<table>
<tr>
<td>nazwa rozporządzenia</td>
<td><input type="text" name="nazwa"></td>
</tr>
<tr>
<td>dziennik ustaw</td> <td><input type="text" name="dziennik"></td>
</tr>
<tr>
<td>data wejścia<font color=red size=3>*</font></td><td><input type="text" name="data_wejscia"></td>
</tr>
</td>
</tr>
<tr>
<td>rozdzial</td>
<td><select name="id_rozdzial">';
while($nazwa=mysql_fetch_array($id)){
echo '<option selected="selected" value="'.$nazwa[0].'">'.$nazwa[1].'</option>';
}
echo '</select><pre>';
//print_r($_POST);
echo '<HR>';
//print_r($_FILES);
echo '</pre><HR>';
echo '<input type="file" size="32" name="plik_upload" value="">';
echo '
<tr>
<td>
</tr>
<tr>
<td>
<input class="button" type="submit" name="dodaj" value="zapisz">
</td>
<td>
</td>
</tr>
</table>
</form>
</div>
<div id="sidebar">
<h1>Menu</h1>
<ul class="sidemenu">
<li><a href="index.php?p=900">Strona Główna</a></li>
<li><a href="user.php">Pokaż użytkowników</a></li>
</div>
';
// ID dodanego rekordu
echo strlen($_POST['plik'])+1;
if(strstr($_POST['dodaj'],'zapisz')!==FALSE&&$id>0){echo "Rekord o ID: ".$id." zosta?? dodany poprawnie";}elseif(strstr($_POST['dodaj'],'zapisz')!==FALSE){echo "B??d nie udalo si? doda? nowego rekordu";}
stopka();
}
}else{
include_once("login.php");
}
?>
f_utnijtekst.php
<?php
function przytnijTekst($tekst, $iloscZnakow, $zakonczenie = '...') {
//jeśli tekst jest dłuższy od określonej ilości znaków dokonujemy modyfikacji
if(strlen($tekst) > $iloscZnakow) {
//ilość znaków pomniejszamy o ilość znaków końcówki dopisywanej na koniec tekstu
$iloscZnakow -= strlen($zakonczenie);
//z przesłanego tekstu wycinamy tekst o określonej ilości znaków
$tekst = substr($tekst, 0, $iloscZnakow);
//odwracamy tekst, tak że jest wyświetlany od końca
$tekst = strrev($tekst);
//funkcja zwraca tekst po pierwszym wystąpieniu spacji, co zabezpiecza nas
//przed wyświetleniem tylko kawałka wyrazu
$tekst = strstr($tekst, ' ');
//gdy ciąg już jest prawidłowo przycięty odwracamy tekst ponownie
$tekst = strrev($tekst);
//usuwamy spacje z początku i końca tekstu
$tekst = trim($tekst);
//na sam koniec doklejamy końcówkę
$tekst .= $zakonczenie;
}
return $tekst;
}
$tekst = 'Oto pierwszy testowe zdanie, które będziemy ograniczać naszą nową wypasioną funkcją.';
echo przytnijTekst($tekst, 45);
//zostanie wyświetlone: Oto pierwszy testowe zdanie, które...
?>
Pozdrawiam