Muszę zezwolić użytkownikom mojej witryny na usunięcie ich zdjęć z serwera po ich przesłaniu, jeśli nie będą ich już chcieli. Wcześniej korzystałem z tej unlink
funkcji w PHP, ale powiedziano mi, że może to być dość ryzykowne i problem z bezpieczeństwem. (Poprzedni kod poniżej :)
if(unlink($path.'image1.jpg')){
// deleted
}
Zamiast tego chcę teraz po prostu przenieść plik do innego folderu. Musi to być możliwe długo po pierwszym przesłaniu pliku, aby za każdym razem logowali się na swoje konto. Jeśli mam główny folder, w którym przechowywane są obrazy użytkowników:
user/
a następnie w tym folderze o nazwie del, który jest miejscem docelowym do umieszczenia niechcianych obrazów:
user/del/
Czy istnieje polecenie przeniesienia pliku do innego folderu? To powie:
user/image1.jpg
przesuwa się do / staje się
user/del/image1.jpg
Użyj funkcji rename () .
źródło
Jeśli chcesz przenieść plik w nowej ścieżce, zachowaj oryginalną nazwę pliku. Użyj tego:
źródło
Pewnym rozwiązaniem jest najpierw skopiowanie () pliku (jak wspomniano powyżej), a gdy istnieje plik docelowy - plik unlink () z poprzedniej lokalizacji. Ponadto, aby się upewnić, możesz sprawdzić sumę kontrolną MD5 przed odłączeniem
źródło
Utwórz funkcję, aby ją przenieść:
źródło
Korzystam z powłoki, aby odczytać cały plik danych, a następnie przypisać do tablicy. Następnie przenoszę plik na najwyższą pozycję.
źródło
użycie kopii () i odłączenie () funkcja
źródło
shell_exec ('mv filename dest_filename');
źródło