나는이 코드를 사용하여 웹 사이트의 특정 디렉토리로 파일을 업로드 할 수 있지만 업로드 된 모든 파일 (.txt 파일 만 가능)을 " equations.txt "를 다운로드 한 다음 내 컴퓨터로 다운로드 한 다음 서버에서 삭제합니다.파이썬으로 서버의 파일 이름 바꾸기
"test.txt"라는 파일을 누군가 업로드하는 경우이를 업로드하고 내 서버의 "equations.txt"로 이름을 바꿔야합니다.
지금까지 지금 나는 그것을 업로드 할 수있어,하지만 난 줄을 추가 할 때 :
os.renames ('/ 홈/XXXX/public_html을/xxxx.com/테스트/업로드 /'+ FN를
,691 : 'equations.txt')#! /usr/bin/python import cgi, os import cgitb; cgitb.enable() form = cgi.FieldStorage() # Get filename here. fileitem = form['filename'] # Test if the file was uploaded if fileitem.filename: # strip leading path from file name to avoid # directory traversal attacks fn = os.path.basename(fileitem.filename) open('/home/xxxx/public_html/xxxx.com/test/uploads/' + fn, 'wb').write(fileitem.file.read()) message = "The file " + fn + " was uploaded successfully" os.renames('/home/xxxx/public_html/xxxx.com/test/uploads/' + fn, 'equations.txt') ## Error line else: message = "No file was uploaded" print ("""\ Content-type: text/html\n\n <html> <body> <p>%s</p> </body> </html> """) % (message)
그것은 실제로 디렉토리에 "equations.txt"에서 파일 이름을 바꾸는 전적으로 대신 /uploads/
디렉토리를 삭제 ... 여기에 코드입니다
위의 코드를 추가하지 않고도 코드가 올바르게 작동하고 파일을 /uploads/
디렉토리에 업로드합니다. 따라서 다음 단계로 넘어 가기 전에 이름 바꾸기가 제대로 작동해야합니다. 감사합니다.
, 동시에 당신의 디자인을 업로드 여러 사용자와 함께 아마 당신이 원하는 방식으로 작동하지 않습니다. 아마도 당신은 이미 이것을 알고 있고 당신의 Q에있는 예제는 단순화되어 있습니다 (이 경우, 감사합니다 :). 단지 FYI입니다. –
맞아. 대중을위한 것이 아니고 개인 액세스 권한이있는 소수의 사람들 만 사용하게 될 것이다. – ratman2050