Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana nazwy plików w katalogu, skomplikowane
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Witajcie, zastanawiam się, czy jest możliwość zmiany plików w katalogu (jest ich około 700), ale to by było zaawansowane zmienianie, otóż pliki mają losową nazwę typu d6fks09876.pdf, a chcę nadać nazwę typu janek_kowalski.pdf
W pliku tekstowym mam ułożone wszystkie te nazwy w postaci:

janek_kowalski.pdf|d6fks09876.pdf

więc trzeba by było pobrać nazwę pliku z folderu "d6fks09876", odnaleźć w pliku tekstowym ciąg "d6fks09876" pobrać odpowiadająca mu nazwę "janek_kowalski" i plik o tytule d6fks09876.pdf zmienić na janek_kowalski.pdf

Czy jest to możliwe?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował miedzna 6.10.2008, 10:14:25
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
miedzna
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


OK:

Podany przez Ciebie kod nie działa, czyli nie zmienia nazw plików zgodnie z moim pytanie na początku postu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Naskrobałem coś takiego, teraz nazwy plików oryginalnych i nazwy na które chcę zmienić mam w bazie:

  1. <?php
  2. $files = glob("*.pdf"); // tworzę listę plików w katalogu
  3.  
  4.  
  5. $result = mysql_query("SELECT Name, File FROM tabela WHERE File != ''"); // pobieram Name jako nazwa docelowa i File jako nazwa orginalna pliku
  6.  
  7. $a=0;
  8.  
  9. while($row=mysql_fetch_array($result)){
  10.  
  11.    for($i=0;$i<=mysql_num_rows($result); $i++){
  12.        if($files[$a] == $row["File"]){
  13.            rename($files[$a], $row["Name"].".pdf");
  14.        }
  15.  
  16.    $a++;
  17.  
  18.    }
  19. }
  20. ?>


Rzeźbię i nic z tego, ktoś pomoże?

Poradziłem sobie, jak by ktoś potrzebował, to wrzucam działający kod:

  1. <?php
  2. $files = glob("*.pdf");
  3.  
  4.  
  5. $result = mysql_query("SELECT Name, File FROM tabela WHERE File != ''");
  6.  
  7. while($row = mysql_fetch_array($result)){
  8.  
  9.    if(in_array($row["File"], $files)){
  10.        rename($row["File"], $row["Name"].".pdf");
  11.    }
  12.  
  13. }
  14. ?>


Ten post edytował miedzna 6.10.2008, 12:48:41
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 04:11