![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
witam
ostatnio kupiłem skrypt hostingu obrazków i chciałbym zmienić w nim linki i jest taki problem jak zrobić, żeby jak wrzucimy dwa takie same pliki(chodzi o nazwę) to żeby ten drugi miał dodane przez skrypt do tej nazwy dodatkową litera/cyfra. przykład wrzucamy plik.jpg a następnie znów plik.jpg a skrypt w tym drugim pliku zmienia nazwę przed wysłaniem na serwer na plik2.jpg i nie mogą się nigdy zdublować te nazwy, bo wiadomo plik na serwerze się nadpiszę i pod danym adresem będzie się wyświetlał inny obrazek. Tutaj zamieszczam plik który odpowiada za wrzucanie plików na serwer i zmianę nazwy. Aktualnie robi długi ciąg liter i cyfr. http://odsiebie.com/pokaz/5032099---4787.html Linie 173/179 odpowiadają za zamianę wgrywanych plików Dzięki za pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Możesz sobie dopisać do tego powiedzmy jakąś tablicę, w której będziesz zapisywał nazwy wysłanych w danym żądaniu plików. Po czym nazwę każdego wysyłanego pliku będziesz sprawdzał pod kątem istnienia jej w tablicy. Jeżeli istnieje to w miejscu gdzie masz losowo tworzona nazwę dodajesz powiedzmy jakiś znaczek - dzięki czemu nazwa będzie już zupełnie inna.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
Dzięki.
słuchaj z PHP zaczynam przygodę od niedawną to raczej sobie nie poradzę, jeśli ktoś dopiszę mi to co wyżej pisał Suh to mogę zapłacić Czyli tak wgrywam plik o takiej samej nazwie wykrywa mi, że już jest taki plik istnieje i porostu na końcu dodaje jakieś znaczek |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 4.10.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Proste. Też to robiłem aby to zrobić możesz dać ze przed nazwa plik.jpg dodaje sie jakies cyfry np. 02432. Najlepiej wziąć miesiąc, rok, dzień, sekundę.
i teraz przed nazwą pliku dajesz $data_upload Np.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
@inny02 posłuchaj jest prostsza metoda. To co rano pisałem - faktycznie zdało by egzamin ale po co komplikować.
Nazwy po uploadzie w tym skrypcie są hashowane za pomocą md5(). Wystarczy, że zmienisz w linijce 175 : na Dzięki czemu niezależnie czy wgrasz 2 czy 20 plików o tej samej nazwie - każdy będzie miał po uploadzie inną nazwę. Ten post edytował Suh 25.08.2009, 10:16:24 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
z haszowania md5 nie chcę korzystać ponieważ daje to za długi adres później.
Chcę tylko, żeby dodawało na końcu nazwy pliku, np cyfrę 1, 2, 3, itd(taka cyfra ile razy będzie wgrywany plik z tą samą nazwą). Ale tylko, jeśli wgrywany plik będzie miał taką samą nazwę, instniejącego już pliku na serwerze. A jak wgrywam plik z nazwą, której jeszcze nie ma na serwerze to nie potrzebne dodawanie nic do nazwy, wyłącznie jak nazwą będzie tak sama jak już wcześniej wgrana (IMG:style_emoticons/default/snitch.gif) Ten post edytował inny02 25.08.2009, 11:59:33 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 386 Pomógł: 25 Dołączył: 28.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował piotrekkr 25.08.2009, 12:07:26 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
a jak dodać ten kod do pliku, aby działało. Coś mi to nie działa (IMG:style_emoticons/default/dry.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 386 Pomógł: 25 Dołączył: 28.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
za
daj
reszta bez zmian... Ten post edytował piotrekkr 25.08.2009, 13:34:44 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
no ok dodałem,
ale jak pozostawię $uploadPath = "pictures/" . $rndName; bez zmian to dalej będzie używać md5 funkcja move_uploaded_file wywala failed to open stream: No such file or directory in /home/pic/www/process.php on line 182 // to jest move_uploaded_file($tempPath, $uploadPath); |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 386 Pomógł: 25 Dołączył: 28.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
To sobie zmien $rndName = $_FILES[$name]["name"]; czy na co tam chcesz...
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
działa (IMG:style_emoticons/default/tongue.gif)
ale są małe problemy mianowicie 1 obrazek plik.jpg wrzuci wszytko ładnie do folderu pictures z nazwą plik.jpg 2 obrazek plik.jpg wrzuci już do głównego katalogu strony z nazwą plik_1.jpg 3 obrazek plik.jpg nie wrzuci w ogóle tylko wyskoczy komunikat po kliku sekundach Fatal error: Maximum execution time of 30 seconds exceeded in /home/pic/www/process.php on line 179 179 linia $uploadPath = $dir . $segments['filename'] . '_' . $i . '.' . $segments['extension']; Ten post edytował inny02 25.08.2009, 16:41:16 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 33 Dołączył: 30.01.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (10%) ![]() ![]() |
chyba powinno byc tak:
-obrazek z nazwą, jak jeszcze nie była wgrywana na serwer wywali błąd, ale wrzuci go do poprawnego katalogu: Warning: getimagesize(/tmp/phpMJAPZ6) [function.getimagesize]: failed to open stream: No such file or directory in /home/picl/www/process.php on line 91 Warning: getimagesize(/tmp/phpMJAPZ6) [function.getimagesize]: failed to open stream: No such file or directory in /home/pic/www/process.php on line 91 Warning: getimagesize(/tmp/phpMJAPZ6) [function.getimagesize]: failed to open stream: No such file or directory in /home/pic/www/process.php on line 91 Sorry ! "asd.jpg" is an invalid image. linia 91:
-Obrazek z instniejącom nazwą na serwerze wgra się poprawnie i oczywiście nazwa się zmieni, ale jest wgrany do głównego katalogu strony zamiast do katalogu picutres -Jeśli wrzucam dwa lub więcej obrazków wgra się tylko pierwszy obrazek na serwer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 16:08 |