Fifi
16.04.2007, 20:53:28
jak zmienić nazwę pliku (np. z automatu) przenoszonego na serwer aby uniknąć jego nadpisania.
Dzięki za pomoc. Jeżeli to pytanko już padło prosze o wybaczenie.
Zmienić nazwe pliku możesz za pomocą funkcji
rename(), a jeśli dodatkowo chcesz uniknąć nadpisania w przypadku gdy taki plik istnieje to możesz sprawdzac to za pomocą
file_exists()
Fifi
16.04.2007, 21:27:50
Wszystko pięknia ładnie nie są mi obce te funkcje. Tylko problemik jest taki z formularza wysyłam fotki na serwer i mówiąc szczerze nie chciałbym sprawdzać czy plik istnieje i pamiętać nazwy plików już zapisanych.
Po jakimś czasie będzie niezła strzelanina w nazwy plików(to byłoby fajnie dla jednego usera ale gdy ich będzie więcej a nawet dużo wjęcej. Co zrobić
piczu
16.04.2007, 21:32:57
mozesz robic takie nazwy sha1(date()) wtedy malo prawdop ze sie powtorzy, albo numerowac kolejne wyslane pliki a przy wysylaniu sprawdzac najwiekszy numer
Fifi
16.04.2007, 21:49:14
dzięki za podpowiedzi. ale może powinienem zacząć od tego nie mogę astosoeać funkcji rename(maly.jpg, duzy) bo to bzdura muszę odzielić nazwę od rozszrzenia zmienić nazwę i połączyć z roaszerzeniem. Fajnie tylko jak to zrobić. Dzięki.
piczu
16.04.2007, 22:00:14
np. tak
<?php
$tablica = explode(".",$nazwa_pliku); $rozszerzenie = $tablica[count($ablica)-1
]; ?>
lub tak
<?php
?>
Fifi
16.04.2007, 23:45:04
dzięki Piczu czyli mam rozumić że to będzie coś takiego. Po otrzymaniu rozszeżenia nowy plik będzie prezentoawał się tak nowy plik= $rozszeżenie + $nowa_nazwa
nowy plik =$nazwa+$rozszeżenie (sorki)
troche narozrabiałem ale to działa
$plik="$nowy.$rozszerzenie";
piczu
16.04.2007, 23:45:41
tak
<?php
$nazwa_pliku = "testowanazwa.jpg";
?>
PS. sory pomylilem sie wczesnie nie date() tylko time() oczywiscie
Fifi
17.04.2007, 16:48:34
witaj Piczu napisales
<?php$tablica = explode(".",$nazwa_pliku);$rozszerzenie = $tablica[count($ablica)-1];?>
nie jest to zle jezeli o tym myślałeś wystarczy zrobić tak
<?php$tablica = explode(".",$nazwa_pliku);$rozszerzenie = $tablica[0];?> i mam nazwe pliku bez rozszerzenia
a tak
<?php$tablica = explode(".",$nazwa_pliku);$rozszerzenie = $tablica[1];?> samo rozszerzenie ale dzięki za pomoc
piczu
17.04.2007, 17:08:58
ale przy nazwie pliku tes.test2.test.3.jpg
$rozszerzenie = $tablica[1]; nie zadziala wiec lepiej tak jak podalem
Fifi
17.04.2007, 17:21:17
ok masz racje przyznaje
Jak byś mi doradził w takiej sprawie. user wysyła fotke na serwer. w bazie zapisuje miejsce położenia fotki a fotki w katalogu. I Teraz czy tworzyć katalog na duże i małe fotki czy programowo manipulować rozmiarem fotki i wtedy jeden katalog.
pozdrwiam Fifi
piczu
17.04.2007, 18:08:44
wszystko zalezy jaka duza ilosc zdjec bedzie wyswietlana na raz i czy strona jest czesto przegladana. jesli na malej stronce po kilka to mozna manipulowac ale jezeli bedzie to wieksza galeria to juz lepiej stworzyc miniaturki i nie obciazac serwera i tak ci radze
Fifi
17.04.2007, 18:30:02
Czy dobrym pomysłem jest ograniczenie Usera do przesyłania plików tylko *.jpg
piczu
17.04.2007, 19:18:33
dobrym wtedy nikt ci nie wysle ha serwer np. pliku php
Edit
nie musisz ograniczac do jednego ale np do plikow ze zdjeciami
Fifi
17.04.2007, 20:13:05
Dzięki Piczu za korespondencje.
myslisz że ograniczenie do jednego formatu (oczywiście przed wysłaniem sprawdzam format pliku) wykluczy taką możliwość wrzucenia pliku php
Witam ponownie Piczu
Teraz troszkę z innej beczki. Pytanko jest tego typu. Chciałbym na stronke móc wstawić filmik, w tym celu rejestruje się na YouTube tam wstawiam filmik i dostaje kod do wstawienia na stronke ok wszystko ładnie. ale mogę również skopiowany link wstawić do bazy i w odpowiednim momencie go wywołać, tylko jeżeli przefiltruje tekst funkcją strip_tags() szlak trafi możlwość wyświetlania danego filmiku. I jeszcze jedno to co uzyskuje to duży format filmiku a jak uzyskać dostęp do miniaturi gdzie po kliknięciu na nią mam duży format.
piczu
17.04.2007, 20:28:37
string strip_tags ( string $str [, string $allowable_tags] )
co do drugiego nie wiem jak uzyskac miniatury z youtube
Deen
20.05.2009, 11:39:28
<?php
$date=date("Y-m-d h:i:s"); $name=$_FILES["file"]["name"];
?>
Niedziała:( co jest źle?
nie moge zrobić tak renambe("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt"); bo nie znam dokładnej nazwy pliku, pomożecie?
erix
20.05.2009, 12:23:41
Musisz znać dokładną nazwę pliku...
Poza tym, jeśli chcesz przenosić wysłany przez POST plik, to musisz użyć
move_uploaded_file" title="Zobacz w manualu PHP" target="_manual, a nie
rename" title="Zobacz w manualu PHP" target="_manual.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.