Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Upload zmiana nazwy pliku w locie.
kielich
post 21.07.2010, 16:39:04
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Witam,
Już od kilku godzin próbuje zmienić nazwę pliku przed jego za upload'owaniem . Czy ktoś może mi pomoc questionmark.gif

W manualu nie ma takiej informacji.


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
melkorm
post 21.07.2010, 17:07:10
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  1. <?php
  2. class Ext_Filter_File_Rename extends Zend_Filter_File_Rename
  3. {
  4. public function getNewName($value, $source = false)
  5. {
  6. $rename = $this->_getFileName($value);
  7. if (isset($rename['target'])) {
  8. $sourceFile = basename($rename['target']);
  9. $sourceDir = dirname($rename['target']);
  10.  
  11. // Nakladamy filtry
  12. $sourceFile = preg_replace('#[^a-z0-9_\.]+#iu', '_', $sourceFile);
  13. $sourceFile = strtolower($sourceFile);
  14.  
  15. $source = rtrim($sourceDir, '/\\').'/'.$sourceFile;
  16. $sourceFile = substr(md5(microtime()), -4).'_'.$sourceFile;
  17. $source = $sourceDir.$sourceFile;
  18. }
  19. return isset($sourceFile) ? $sourceFile : $value;
  20. }
  21. }
  22. ?>
  23.  


Używasz jak zwykłego filtru.

Gdzie Ext_ to po prostu prefiks mojej biblioteki.

Edit:
1. Oczywiście funkcje zmieniającą nazwę możesz dowolnie zmienić do własnych potrzeb.
2. Z tego co pamiętam tylko ten filtr jest odpalany przed rzeczywistym zapisem pliku do katalogu, dlatego go nadpisałem dla własnych potrzeb.

Edit_2:
Wywołanie:
  1. $element->addFilter( new Ext_Filter_File_Rename( $element->getFileName() ));


Ten post edytował melkorm 21.07.2010, 17:26:12


--------------------
Go to the top of the page
+Quote Post
kielich
post 21.07.2010, 18:50:45
Post #3





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Zrobiłem to inaczej bardziej zrozumiale i przejrzyściej ( dla mnie) - ale twoja odpowiedz mnie nakierował na to czego oczekiwałem smile.gif


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 02:14