![]() |
|
|||||||
| Zarejestruj się | FAQ | Użytkownicy | Social Groups | Kalendarz | Szukaj | Dzisiejsze posty | Zaznacz Przeczytane Fora |
![]() |
|
|
LinkBack | Narzędzia wątku | Wygląd |
|
|||
|
Witam, mam taki prosty skrypcik do wysylania plikow na serwer. Robie galerie zdjec i chce go wykorzystac, ale nazwy plikow sa kodowane w md5, natomiast ja chcialbym zeby ten skrypt nadawal plikom nazwy w liczbach po kolei np. 1.jpg, 2.jpg, 3...
Jak to zrobic? Kod:
$p_pojemnosc=$_FILES['plik']['size'];
$p_typ=$_FILES['plik']['type'];
$p_nazwa=$_FILES['plik']['name'];
$p_smiec=$_FILES['plik']['tmp_name'];
$p_roz= array_pop(explode(".", $p_nazwa));
$max_size=round(($_POST['max_file_size']/1048576),3)."MB";
$poj_MB=round(($p_pojemnosc/1048576),2).'MB';
$p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
$folder="pliki/";
//---Kolorki HTML---
$k_cze="<font color=#ff0000>";
$f_koniec="</font>";
$k_nieb="<font color=#0000ff>";
if ($p_pojemnosc <= 0)
{
echo ("Plik jest pusty nie mogę go przesłać <b>".$k_cze.$p_nazwa." ".$poj_MB.$f_koniec."</b><br />");
echo "<a href=index.php>Wracaj ...</a>";
exit;
}
if ($poj_MB > $max_size)
{
echo("Plik jest za duży maksymalnie można wysłać <b>".$k_cze.$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$k_nieb.$poj_MB.$f_koniec."</b></i><br />");
echo "<a href=index.php>Wracaj ...";
exit;
}
if (file_exists($folder.$p_nazwa_zm))
{
echo ("Plik o takiej nazwie jest już na serwerku <b><i>".$p_nazwa_zm."</b></i><br />");
echo "<a href=index.php>Wracaj ...";
exit;
}
else {
if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
echo "Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />";
$path_file=$folder.$p_nazwa_zm;
$conn = mysql_connect('*, '*', '*') or die('Error connecting to mysql');
mysql_select_db('*');
$zapytanie=mysql_query("insert into nazwa_tabeli values(NULL,'$p_pojemnosc','$path_file','$p_typ')");
echo "<a href=index.php>Wracaj ...";
}
|
|
|||
|
czy posiadasz dostęp do bazy danych?
jeden sposób to oparcie się o baze danych ale myśle że tutaj jest to zbędne drugi sposób to oparcie się o plik: Kod:
function getFileNumber()
{
$fh = fopen('data.ini','r+');
$number = fread($fh,filesize('data.ini'));
$number++;
fwrite($fh,$number);
return $number;
}
![]() musi istnieć plik data.ini i domyslnie liczba 0 w nim a potem już tylko dajesz Kod:
$file = "nazwa_".getFileNumber().".jpg"; |
|
|||
|
No i skrypcik dziala, wysylami pliki, ale mam problem z nazewnictwem.
Mianowicie, skrypt do "nazwa_" dodaje niestworzone liczby wiazace sie chyba z rozmiarem pliku, a nie z jego zawartoscia... Zalezy mi na tym, by pliki byly numerowane kolejno, 1,2,3, itd... |
![]() |
| Użytkownicy aktualnie czytający ten wątek: 1 (0 użytkownik i 1 gości) | |
| Narzędzia wątku | |
| Wygląd | |
|
|