![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.03.2018 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od paru godzin głowię się nad stworzeniem skryptu, który prześle kilka plików na serwer oraz zapisze do bazy informacje o nich. Formularz:
Tu sprawa jest prosta... Zdjęcie główne ładnie się uploaduje i zapisuje do bazy. Problem jest, gdy chcę wrzucić kilka zdjęć przez "Zdjęcia do galerii". Skrypt obsługujący wysyłkę:
Skrypt tworzy losową nazwę katalogu ($haslo2) i tam uploaduje wszystkie obrazy. Zmienna $haslo3 to kolejny losowy ciąg znaków, który ma być nazwą pliku. Problem w tym, że do bazy dodaje się wszystko z wyjątkiem `url` - czyli nazwą pliku. Dodaje się samo rozszerzenie. Podejrzewam, że funkcja losuj() nie zwraca mi $haslo3, tylko nie wiem dlaczego :/ Ten post edytował Krkol 2.05.2018, 16:59:48 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Proponowałbym Tobie "zaorać" ten skrypt i napisać go od nowa, najlepiej już na PHP 7.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 19 Dołączył: 1.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Podejrzewam, że funkcja losuj() nie zwraca mi $haslo3, tylko nie wiem dlaczego :/ Nie zapisuje bo nigdzie nie przypisujesz zwracanego $haslo3. Funkcje działają trochę w inny sposób. Wywal tą linijkę z losuj(); a zmień linijkę z:
na:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Trzeba to lekko poprawić, aby było zgodne z zasadą DRY (Don't Repeat Yourseflt (Nie powtarzaj się)). Chodzi mi o tę linię: w funkcji i poza nią. Chyba, żeby przenieść tę linijkę przed funkcję i żeby to był jeden wielki if. Skrypt napisałem pod plik pojedynczy, nie multiple, gdybyś chciał wiele plików upload'ować, to musiałbyś przerobić ten skrypt. Ten post edytował Neutral 8.05.2018, 13:19:13 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@neutral tak z czystej ciekawosci bo nie ogarniam...
leonpro778 juz dawno podal rozwiazanie problemu a ty po paru dniach podajesz skrypt ktory: - jest jakims tam twoim skryptem, ktory robi zupelnie co innego niz oczekuje autor - zawiera lokalne sciezki do twoich katalogow - mowisz autorowi by zaoral skrypt i przepisal go na php7 po czym sam podajesz skrypt, ktory z php7 nie ma nic wspolnego - i generalnie ma sie nijak do problemu autora i trzeba by go przerabiac by dzialalo jak autor chce. Po co? Mozesz mnie oswiecic jaki byl cel tego posta? ps: Cytat aby było zgodne z zasadą DRY (Don't Repeat Yourseflt (Nie powtarzaj się)). Chodzi mi o tę linię: to jest tylko wierzcholek gory lodowej w rzeczach ktore tam masz do poprawy ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No i te "lekko poprawić". Raczej zaorać jak już sam wspomniałeś.
jest tyle tam rzeczy do których można by się przyczepić aż mi się nie chce. Ja rozumiem chęć niesienia pomocy ale bądźmy ludź sukcesu a nie bylejakości ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że istnieje takie coś jak:
? ... : ? ? Oczywiście bez spacji w drugim przypadku, napisałem tak, bo się emotikona pojawiła. http://php.net/manual/en/migration70.php Zacząłem pisać, więc chciałem już dokończyć, a że wiele rzeczy jest do poprawy, szczególnie te if'y, to wiem. Może komuś się przyda. Ścieżki do katalogów przecież można sobie pozmieniać na swoje. Gdybym chciał to pisać w OOP chociażby to dłużej by mi to zeszło, zresztą już chciałem zakończyć ten projekt. Może do tego wrócę i poprawię, nie wiem. Ten post edytował Neutral 8.05.2018, 14:50:35 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tu nie chodzi o ?: ale o caloksztalt.
Generalnie bym sie nie wtracal gdybys sam najpierw userowi nie pisal by to zaoral i przepisal na php7 a potem ni z gruszki nie z pietruszki wstawiasz takie "cos" co wcale nie jest lepsze od kodu, ktory zaleciles komus innemu zaorac :/ ps: Cytat Ścieżki do katalogów przecież można sobie pozmieniać na swoje. zacznijmy od tego ze te sciezki wpisane z palca sa tam totalnie ZLE -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Cytat zacznijmy od tego ze te sciezki wpisane z palca sa tam totalnie ZLE Nie wiem za bardzo, co masz na myśli. U mnie jakoś działa. Czy mógłbyś rozwinąć myśl o tym getcwd()? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat U mnie jakoś działa. A czy ja mowie ze nie dziala.... Ja mowie, ze to jest zle zrobione. Przenies teraz chociazby ten skrypt do innego katalogu i zobacz czy bez zmian kodu bedzie dzialac. A to tylko jeden z powodow dlaczego te sciezki tam sa ZLE.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki @nospor, teraz zrozumiałem o co chodzi. W tym kodzie getcwd(), to taki jakby constant (stała), a to, czy zostaną pliki umieszczone w innym katalogu, czy nie to już inna sprawa. Można nawet przypisać do zmiennej tę ścieżkę 'C:\xampp\htdocs\forumphp' i w jednym miejscu tylko zmienić. Jeśli chodzi oto, że byłoby lepiej bez getcwd(), to może i racja, nie pomyślałem chyba, jak kto woli zresztą. Moim zdaniem, aż takie złe to nie jest, chodź może się mylę. Gdybym wykonał jakiś większy projekt z tym, to może bym zobaczył jakie to powoduje kłopoty, ale nie wydaje mi się.
Ten post edytował Neutral 8.05.2018, 15:12:05 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Jeśli chodzi oto, że byłoby lepiej bez getcwd(), to może i racja, nie pomyślałem chyba, jak kto woli zresztą. Moim zdaniem, aż takie złe to nie jest, chodź może się mylę. Gdybym wykonał jakiś większy projekt z tym, to może bym zobaczył, jakie to powoduje kłopoty, ale nie wydaje mi się. W tym zdaniu jest wiele sprzecznosci ![]() Ok, mylisz sie. To jest ZLE - przyjmij to jako aksjomat ![]() Co do poprawnego rozwiazania, to gdzies tam, w pliku konfiguracyjnym definiuje sie sciezke, do ktorej wrzuca sie pliki z UPLOAD i poprostu te pliki tam sie wrzuca a nie sprawdza, czy przypadkiem working directory jest wlasnie w tej sciezce. Totalnie podszedles od zlej strony do tego. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 23:38 |