![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 8.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
próbuje zrobic skrypt który po wysłaniu pliku(zdjęcia) wykona następującą prace: 1.sprawdzi rozszerzenie pliku (w przypadku rozszerzenia innego niz graficzne wypluje blad). 2.zmieni nazwe pliku na bardziej przyjazną(w tym pozbawi ją polskich znaków) 3.tworzy miniaturke 4.wstawia do bazy danych link do zdjecia i miniaturki. Mam 3 skrypty ,ktore wykonuja te zadanie ale nijak nie moge ich ze soba polaczyc. Pomoze ktos albo chociaż naprowadzi?Bede bardzo zobowiazany
pozdrawiam Maciek |
|
|
-nafta103- |
![]()
Post
#2
|
Goście ![]() |
<?php
include 'config.php'; db_connect(); check_login(); $user_data = get_user_data(); $p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku $p_typ=$_FILES['plik']['type']; // typ pliku $p_nazwa=$_FILES['plik']['name']; // nazwa pliku $p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku //wycinamy rozszerzenie z pobieranego pliku $p_roz= array_pop(explode(".", $p_nazwa)); /* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca po przecinku/dzielimy przez 1204*1024 by było w MB*/ $max_size=round(($_POST['max_file_size']/1048576),3)."MB"; //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB $poj_MB=round(($p_pojemnosc/1048576),2).'MB'; //kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku $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('localhost', 'DBNAME', 'BDPASS') or die('Error connecting to mysql'); mysql_select_db('NAZWABAZY'); $zapytanie=mysql_query("UPDATE `users` SET pojemnosc = '$p_pojemnosc', nazwa = '$path_file', typ = '$p_typ' WHERE user_id = '{$user_data['user_id']}'"); echo "<a href=index.php>Wracaj ..."; } ?> |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.11.2009 Skąd: Legnica Ostrzeżenie: (20%) ![]() ![]() |
Witam
Podepnę się pod temat, bo mam podobny problem. Ja chciałbym wysłany obraz jpg zmniejszyć do rozmiaru 400x300 i wrzucić do bazy danych ale Chiny nie daje radę. Proszę o pomoc. Oto kod: Forlumarz :
Plik wykonawczy :
Plik nie zapisuje się w bazie danych. Co jest źle ? Po raz kolejny wzywam Megamocnego nospora. Szefie gdzie jesteś jak Cie trzeba ? Litosci. Ileż ja już za Ciebie zdrowasiek odklepałem w kościele. Szok. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$src=ImageCreateFromJpeg($nazwa);
yy....eee...... Dla ImageCreateFromJpeg należy podać ścieżkę do pliku a nie jego nazwę. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.11.2009 Skąd: Legnica Ostrzeżenie: (20%) ![]() ![]() |
A jaka jest ścieżka do pliku w moim przypadku, nie rozumię.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 4 Dołączył: 26.04.2011 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Klucz tmp_name w tablicy $_FILES albo drugi argument move_uploaded_file();
PS1: Skrypt jest ostro przekombinowany i ogólnie słabo napisany. PS2: "nie rozumiem" |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.11.2009 Skąd: Legnica Ostrzeżenie: (20%) ![]() ![]() |
@ Sobak
A jak napisać to lepiej i szybciej. Efekt ma być jeden. Wszystko co ludzie wrzucą ma być zmniejszane na 400x300. Bo mi jeden gosć wrzucił fotkę 22MB. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 4 Dołączył: 26.04.2011 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dasz radę znacząco to przyspieszyć. Pewne rzeczy są ciężkie do przeskoczenia i tam już rolę odgrywa maszyna. Mówiąc o kiepskim skrypcie miałem na myśli niespójność nazewnictwa, brak konsekwencji w układaniu kodu, zbędne zmienne, stosowanie cudzysłowów przy prostych ciągach znaków, gdzie lepiej użyć apostrofów i tak dalej
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.11.2009 Skąd: Legnica Ostrzeżenie: (20%) ![]() ![]() |
Dzieki, uporałem się. Podaje dla potomków, którzy np. w 2035 tutaj wejdą gotowe rozwiązanie.
Ten post edytował 8_pasazer_NOSTROMO 17.05.2013, 13:08:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 18:16 |