HotScripts.pl - darmowe programy, skrypty  

Wróć   HotScripts.pl - darmowe programy, skrypty > Strefa webmastera > PHP & MySQL

Odpowiedz
 
LinkBack Narzędzia wątku Wygląd
  #1 (permalink)  
Stary 13-06-2008, 10:17
Początkujący
 
Zarejestrowany: Jun 2008
Postów: 4
darkwalker jest na dobrej drodze
Domyślnie [PHP] wysylanie pliku na serwer, a inkrementacja nazwy plikow

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 ...";
}
Reply With Quote
  #2 (permalink)  
Stary 13-06-2008, 13:07
w0jtas
Guest
 
Postów: n/a
Domyślnie

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;
}
Piszę na sucho i nie jestem guru więc mogą być błędy

musi istnieć plik data.ini i domyslnie liczba 0 w nim

a potem już tylko dajesz

Kod:
$file = "nazwa_".getFileNumber().".jpg";
Reply With Quote
  #3 (permalink)  
Stary 13-06-2008, 14:11
Początkujący
 
Zarejestrowany: Jun 2008
Postów: 4
darkwalker jest na dobrej drodze
Domyślnie

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...
Reply With Quote
  #4 (permalink)  
Stary 13-06-2008, 14:11
Początkujący
 
Zarejestrowany: Jun 2008
Postów: 4
darkwalker jest na dobrej drodze
Domyślnie

aha, i mam dostep do bazy
Reply With Quote
  #5 (permalink)  
Stary 13-06-2008, 18:06
Początkujący
 
Zarejestrowany: Jun 2008
Postów: 4
darkwalker jest na dobrej drodze
Domyślnie

No niestety nie dalo sie tak jak napisales, ale twoj kod mi pomogl w tym jak to ma dzialac, i juz dziala thx
Reply With Quote
  #6 (permalink)  
Stary 14-06-2008, 10:42
w0jtas
Guest
 
Postów: n/a
Domyślnie

to się ciesze na sucho wychodzi jak wychodzi, ale lepiej jak dam z błędem i ktoś sam pomyśli i jeszcze się poduczy
Reply With Quote
Odpowiedz


Użytkownicy aktualnie czytający ten wątek: 1 (0 użytkownik i 1 gości)
 
Narzędzia wątku
Wygląd

Zasady Postowania
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Włączony
UśmieszkiWłączony
[IMG] kod jest Włączony
HTML kod jest Wyłączony
Trackbacks are Włączony
Pingbacks are Włączony
Refbacks are Włączony



Czasy w strefie GMT +1. Teraz jest 04:52.


Oprogramowanie Forum: vBulletin 3.8.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0