![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, niedawno rozwiązałem jeden problem i od razu natknąłem się na kolejny.
Z tego co mi wiadomo serwer na wykonanie jednego skryptu ma 30 sekund i dlatego stwarza to pewne problemy. Planuje do mojego formularza dodać możliwość uploadu zdjęć w ilości większej niż 1. Zatem jeżeli dam możliwość uploadu max 5 zdjęć i jeżeli user będzie wgrywał jednocześnie 5 zdjęć to wtedy serwer nie wyrobi się w czasie (wszystko zależy od łącza oczywiście, ale zakładam czarny scenariusz). A zatem moje pytanko brzmi jak ten problem rozwiązać ? Oto kod formularza:
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam bardzo, ale co ma czas wgrywania plików do czasu wykonywania skryptu? No, chyba, że masz na myśli problem w którym serwer dostanie 20 zdjęć i ich obróbka zajmie mu dłużej niż 30 sekund.
Skrypt zostaje uruchomiony dopiero wtedy, jak całość 'od użytkownika' zostanie wysłana. W twoim mniemaniu skrypt zaczyna działać(przerabiać zdjęcia) jeszcze zanim całkowicie je odebrał ![]() Ten post edytował evolucja 21.07.2010, 00:45:37 -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak w formularzu wskaże lokalizacje do 5 fotek i wcisnę przycisk wyślij to wtedy zaczyna wykonywanie skryptu? @evolucja mówisz że nie bedzie problemu czasowego ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jak w formularzu wskaże lokalizacje do 5 fotek i wcisnę przycisk wyślij to wtedy zaczyna wykonywanie skryptu? @evolucja mówisz że nie bedzie problemu czasowego ? Nie. Przecież napisałem wyraźnie. Podałem nawet rozwinięcie twojego myślenia i sam nie wyłapałeś błędu? Skrypt po stronie serwera może zostać uruchomiony dopiero wtedy, jak całość danych zostanie przesłana. Bo niby w jaki inny sposób miały by działać hostingi plików? ![]() jeżeli obawiasz, że obróbka zdjęć może potrwać za długo i skrypt przestanie działać, to ustaw na samym początku: Na localu może sobie ustawiać... Nie znam jeszcze shared hostingu który by miał możliwość zmiany ![]() -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
@evolucja rozumiem o co chodzi.
A możecie mi wskazać jak zrobić żeby skrypt robił miniaturki kolejnych zdjęć. Bo teraz mam tylko jednego inputa z type=file. ---------------------------------------------- Witam, sorki że nadpisuje ale nie mogę sobie poradzić z tym problemem. Zrobiłem kolejnego inputa na wrzucanie pliku. $ul_plik --> odnosi się do pierwszego inputa $foto_dwa --> to drugi input. Zmierzam do tego żeby zrobić upload większej ilości uploadu plików graficznych i tak żeby skalowało mi te pliki do miniatury. Wszystko działa, ale tworzy mi podwójną ilość miniatur oraz dodaje do bazy podwójna ilość ogłoszeń. Dodaje ogłoszenie i daje 2 fotki. Na ftp tworzy się 8 plików: 4 miniatury i 4 oryginalne. Do bazy dodają się 2 ogłoszenia. Nie wiem co jest nie tak. Jak był pojedynczy upload to wszystko działało dobrze. Proszę o pomoc.
Ten post edytował Barcelona 22.07.2010, 11:22:34 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 6 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Na pewno w tym kodzie masz błąd w treści wysyłanej do kolumny obrazek, we wcześniejszym zapytaniu wrzucam tam $rand a w drugim jakaś nazwa Ten post edytował Wilu88 22.07.2010, 11:50:48 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
A po co ci dwa foreachy działające dokładnie tak samo? A, nie dokładnie. Ten pierwszy nie wysyła zapytania
![]()
Dodawanie kolejnych zdjęć to już tylko stworzenie odpowiednich inputów i ich nazwanie - bez zmian w kodzie. -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 6 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej zrobić tak:
Ujednolicić nazwy inputów z plikami np: $ul_plik1, $ul_plik2 itd. I jeśli z góry zakładasz zż będzie np 5 plików zrobić pętle z 5 przebiegami i za każdym przebiegiem robić INSERTA? Ten post edytował Wilu88 22.07.2010, 12:02:06 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
@evolucja, ale czy jak usunę pierwszą część to czy będą się tworzyły miniaturki do kolejnych wgrywanych zdjęć. Zależy mi jeszcze żeby nazwy tych plików dodawać do bazy mysql.
Cytat Na pewno w tym kodzie masz błąd w treści wysyłanej do kolumny obrazek, we wcześniejszym zapytaniu wrzucam tam $rand a w drugim jakaś nazwa zapytanie jest dobre. Ta 'nazwa' w zapytaniu jest nazwą pliku. Działa to tak --> jak nie zostanie dodane zdjęcie to wtedy w polu obrazek zostaje dodany domyslny obrazek o nazwie "nazwa" a jak obrazek zostaje dodany to wtedy leci rand z nazwa pliku. @Wilu88 mógłbyś napisać jak to zrobić w pętli bo właśnie rozważam również takie rozwiązanie ale nie wiem jak się za nie zabrać. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej zrobić tak: Ujednolicić nazwy inputów z plikami np: $ul_plik1, $ul_plik2 itd. I jeśli z góry zakładasz zż będzie np 5 plików zrobić pętle z 5 przebiegami i za każdym przebiegiem robić INSERTA? To rozwiązanie jest po prostu głupie. Po co ma przerabiać to na statyczne skoro już ma teraz zrobione dynamicznie? @evolucja, ale czy jak usunę pierwszą część to czy będą się tworzyły miniaturki do kolejnych wgrywanych zdjęć. Zależy mi jeszcze żeby nazwy tych plików dodawać do bazy mysql. A sprawdziłeś to w ogóle czy tylko tak gadasz? -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 6 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
tyle że nie jestem pewien tej linijki Kod if( is_uploaded_file($ul_plik'.$a.'['tmp_name'] ) ) i łączenia dwóch zmiennych pokombinujesz i powinno być ok ![]() Ten post edytował Wilu88 22.07.2010, 12:36:26 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
#Wilu88
No i po co to? Jaki jest sens przerabiania czegoś co działa i jest dynamiczne, na coś takiego? -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 6 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kolega poprosił o kod to przedstawiłem, a czy jest sens to niech on zdecyduje.
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
@evolucja własnie sprawdziałem to co napisałeś, czyli usunąłem tą pierwszą część kodu. I teraz na ftp zostaje wgrana prawidłowa ilość plików, jak wrzucam jeden to wrzuca się jedno a jak dwa to wrzucają się dwa. Tylko problem jest taki że tworzą się podwójne ogłoszenia. Napisze inaczej:
Do formularza dodaje dwa pliki i jak dodam to wszystko do bazy to tworzą się dwa ogłoszenia. Pierwsze z tym zdjęciem pierwszym oraz drugie ogłoszenie z tym zdjęciem drugim. Tak jakby pętla wykonywała zapytanie do bazy dla każdego obrazka z osobna. @Wilu88 jednak pozostane przy tym co teraz jestem bo nie ma sensu przerabiać coś co już działa, ale ma małe niedociągnięcia. Wkleje cały kod dla pewności
Ten post edytował Barcelona 22.07.2010, 14:04:00 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie chce mi się czytać całego kodu, wybacz. Cały problem w tym, że my tak naprawdę nie wiemy do czego to służy i jak ma działać
![]()
-------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak napisałeś w moim notepad++ z którego korzystam mam podświetlone klamry
![]() A więc przeniosłem zapytanie po za pętle foreach i teraz dodaje tylko jedno ogłoszenie do bazy danych ![]() Ale jednak teraz mam problem z opcją gdy zdjęcie nie jest dodane w formularzu. Zasada działania jest taka, jak nie jest zadna fotka wybrana wtedy do bazy zostaje dodane ogłoszenie z nazwą domyślnej fotki która jest juz na ftp. I teraz jak nie wybiore zadnej fotki to tworzą się dwa ogłoszenia z ta domyślną (to chyba jest zależne od ilości inputów w formularzu). Tak, wiem identyczna sprawa jak w przypadku wyżej, zapytanie znajduje się w pętli, ale jednak jak to zrobić po za pętlą żeby skrypt wiedział że nie została wybrana żadna fotka i dodał jedno ogłoszenie z domyślną nazwą. Mam tam warunek if( is_uploaded_file( $ul_plik['tmp_name'] ) ) i jak jest spełniony wtedy dodaje się ogloszenie z fotą a jak nie to z domyślną nazwą tylko to wszystko znajduje się w foreach. Aktualnie ta część kodu wygląda tak (przeniosłem zapytanie po za foreach)
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przecież dałem ci już poprawioną i działającą funkcję w poprzednim moim poście, to ty dalej kombinujesz.
Ten post edytował evolucja 22.07.2010, 16:10:49 -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 322 Pomógł: 15 Dołączył: 29.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Racja, przepraszam najmocniej
![]() Już wystawiłem podziekowanie, ale jeszcze raz wielkie dzieki bo było to bardzo ważne dla mnie. Jeszcze mam takie małe pytanko. Jak z tej pętli wydobyć nazwy wszystkich plików bo chce w tabeli w bazie danych zapisywać te nazwy i wyświetlać (jako obrazki) przy konkretnym ogłoszeniu. Ten pierwszy obrazek $ul_plik jest zapisywany jako $rand w bazie danych, a nie wiem jak to zrobić z kolejnymi. -------------- Wracam z editem: @evolucja działa prawie dobrze. Skrypt nie wykrywa że nie został dodany obrazek i dodaje puste pole w bazie. Funkcja rand odpowiada za tworzenie unikatowych nazw plików, i tutaj nie wykrywa że nie ma pliku i nie randuje i daje pustą wartość. Próbowałem nawet w phpmyadmin zrobić domyślną wartość dla pola "obrazek" ale i tak dodawał się pusty rekord. Ten post edytował Barcelona 22.07.2010, 17:46:12 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 6 Dołączył: 7.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
No to w tym drugim zapytaniu przypisz kolumnie obrazek jakąś wartość która będzie zawsze wysyłana gdy nie będzie obrazka.
W tym wypadku powinien przesłać wartość 'obrazek' do kolumny obrazek. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:53 |