ไฟล์ชุดเพื่ออัปโหลดไฟล์ไปยังเว็บไซต์


0

ฉันลองใช้เวลาหลายวันเพื่ออัปโหลดไฟล์เดียวไปยังไดเรกทอรีในเว็บไซต์ของฉัน: ฉันรู้ว่าฉันสามารถใช้ Filezilla ได้ แต่ฉันต้องการทำให้เป็นอัตโนมัติสำหรับบางคนที่ไม่ใช้เทคโนโลยี เพียงคลิกไอคอนที่เรียกใช้ไฟล์แบตช์ ฟังดูง่าย ฉันได้ค้นหาตัวอย่างที่ฉันสามารถใส่ parms ของฉันลง แต่ดูเหมือนจะไม่มีอะไรทำงาน (รหัสด้านล่าง)

FTP OPEN 72.167.xxx.xx
user Sunshine45
password Thunder34
cd /nwire/wp-contect/uploads/2015/01
put /Les/block7.jpg
Bye

ฉันรู้ว่ามันต้องเป็นสิ่งที่ชัดเจน แต่ฉันแค่ไม่เห็นมัน ฉันต้องการแทรก block7.jpg จากไดเรกทอรีในคอมพิวเตอร์ของฉันลงในไดเรกทอรีเว็บไซต์ ผลลัพธ์ที่ได้คือการอัพเดทภาพอัตโนมัติบนเว็บไซต์

ขอบคุณสำหรับคำแนะนำและ / หรือความช่วยเหลือ


ฉันขอแนะนำให้คุณลองพิมพ์สคริปต์บรรทัดต่อบรรทัดในพร้อมท์คำสั่งเพื่อดูว่าคุณได้รับข้อผิดพลาดหรือคำแนะนำ มิฉะนั้นฉันขอแนะนำให้คุณลองใช้ telnet หรือ psftp (เป็นส่วนหนึ่งของแพคเกจ puTTy) ซึ่งอาจช่วยแก้ไขปัญหาของคุณ
Kristian

ระหว่างระบบที่เหมือนยูนิกซ์ scp หรือ rsync จะเป็นกลไกการอัพโหลดที่ใช้สคริปต์ได้ง่าย แน่นอนว่าสิ่งนี้มีประโยชน์น้อยกว่าหากไคลเอนต์หรือเซิร์ฟเวอร์เป็น windows
killermist

คำตอบ:


1

คำตอบของ Jesper แสดงให้เห็นถึงวิธีการทำเช่นนี้ในแบบที่ใกล้เคียงที่สุดกับวิธีการเขียนคำถาม

ฉันเสนอวิธีแก้ไขปัญหาอื่น: อย่าใช้ ftp FTP จะไม่เสนอการรักษาความปลอดภัยผ่านเครือข่าย มันอาจเป็นปัญหากับการออกแบบเครือข่ายบางอย่างโดยเฉพาะอย่างยิ่งถ้าใช้ NAT หรือเมื่อมีการใช้ไฟร์วอลล์ ปัญหาเหล่านี้อาจไม่มีอยู่หากการอัปโหลด FTP ด้วยตนเองทำงานได้ดี แต่อาจเริ่มปรากฏขึ้นหากมีคนทำการเปลี่ยนแปลง ตัวอย่างเช่นปัญหาอาจเกิดขึ้นหากคุณแทนที่โมเด็ม DSL ด้วยโมเด็ม DSL อื่นที่มีคุณสมบัติที่แตกต่างกัน

ทางออกที่ต้องการคือไม่ใช้ FTP สิ่งที่คุณสามารถใช้แทนอาจเป็นฐานที่ จำกัด สิ่งที่เว็บโฮสต์ให้เป็นตัวเลือก ทางเลือกหนึ่งที่ยอดเยี่ยมคือ SFTP ซึ่งใช้กับ PSFTP.EXE ของ PuTTY อาจมีความกำกวมเนื่องจากมีการเปลี่ยนแปลง FTP ที่ปลอดภัยหลายรูปแบบเช่น FTPS SCP ซึ่งใช้กับ PSCP ของ PuTTY อาจใช้งานได้ง่ายขึ้นในบางกรณีดังนั้นฉันขอแนะนำให้เริ่มด้วย

เมื่อต้องการทำสิ่งนี้ก่อนอื่นให้คว้าไฟล์จากเว็บไซต์ดาวน์โหลดของ PuTTY http://chiark.greenend.org.uk/~sgtatham/putty/download.html ให้บริการ pscp.exe และไฟล์ psftp.exe ที่คล้ายกัน the.earth.li/~sgtatham/putty/latest/x86/… (สำหรับเวอร์ชั่น 0.63 ซึ่งเป็นเวอร์ชั่นล่าสุด ณ เวลาที่เขียนนี้) อาจเป็นเรื่องง่ายที่สุดสำหรับผู้ที่ต้องการเดินผ่านกระบวนการติดตั้งง่ายโดยใช้ GUI ในขณะที่ไฟล์ putty.zip ยังมี putty.exe และ pscp.exe และ psftp.exe

ไฟล์แบตช์รุ่นแรกของคุณจะมีลักษณะดังนี้:

C: \ Program Files \ PuTTY \ PSCP.exe - ชื่อผู้ใช้ C: \ dir \ stuff \ to \ upload *. * remoteSever:

จดช่วงเวลาไว้ท้ายซึ่งระบุตำแหน่งที่จะไปไฟล์ ปรับแต่งตามต้องการ

เมื่อคุณทำงานได้ดีคุณจะต้องคัดค้านว่าผู้ใช้ต้องพิมพ์รหัสผ่าน ใช่นั่นสามารถแก้ไขได้ แต่มันก็ใช้งานได้มากกว่า แต่โดยทั่วไปแล้วเป็นตัวเลือกโดยเซิร์ฟเวอร์ที่รองรับการใช้ PSFTP หรือ PSCP คุณอาจต้องการใช้ PuTTYGen เพื่อสร้างคีย์ บันทึกคีย์ส่วนตัวในรูปแบบ OpenSSH (ไม่ใช่รูปแบบ * .PPK ที่ต้องการของ PuTTYGen) รหัสส่วนตัวนั้นจะต้องเข้าสู่เซิร์ฟเวอร์ การใช้ PuTTY อาจเป็นเครื่องมือที่ง่ายกว่าในการตรวจสอบให้แน่ใจว่ามีการติดตั้งรหัสส่วนตัวในที่ที่จำเป็น เมื่อจัดการไพรเวตคีย์แล้วไฟล์แบตช์สามารถแก้ไขได้เพื่อใช้:

C: \ Program Files \ PuTTY \ PSCP.exe - ชื่อผู้ใช้ -i C: \ mykeys \ mykey.pub C: \ dir \ stuff \ to \ upload *. * remoteSever:

ถ้า PSCP ทำงานได้ดีให้ปรับปรุงสิ่งต่าง ๆ เล็กน้อยโดยลองใช้ PSFTP.exe แทน ถ้าใช้งานได้ผลจะดีกว่าเล็กน้อยเนื่องจากผู้เขียน OpenSSH สังเกตว่า SFTP เป็นโปรโตคอลที่พัฒนาขึ้นมากกว่า SCP

ทางเลือกอื่นคือใช้โปรโตคอลอื่นนอกเหนือจาก FTP, SFTP หรือ SCP เช่น HTTP (S) HTTP (S) อาจเป็นอัตโนมัติโดยใช้ WGET กับ --post-file = ชื่อไฟล์ แต่คุณจะต้องค้นหา URL ที่เว็บโฮสต์ของคุณใช้เพื่ออนุญาตให้อัพโหลด HTTP ที่จริงแล้ว cURL นั้นดีกว่า WGET มันมีใบอนุญาตที่ผ่อนปรนมากขึ้นและฉันเชื่อว่ารหัสนั้นใหม่และเรียบง่ายขึ้นเช่นกัน

อาจมีการใช้งานอื่น ๆ เช่นกัน WinSCP สนับสนุนไคลเอนต์บรรทัดคำสั่งที่เรียกว่า winscp.com (และนอกจากนี้ยังมี winscp.exe ซึ่งมี GUI) Windows Script Host สามารถใช้ HTTP โดยใช้วัตถุที่มีอยู่แล้วภายใน Microsoft Windows ดังนั้นไม่จำเป็นต้องดาวน์โหลดไฟล์ปฏิบัติการ อีกครั้งฉันหมายถึงคำตอบของ Jesper เป็นคำตอบที่คุณอาจพบว่าใช้งานได้ค่อนข้างดีสำหรับคุณและใช้ซอฟต์แวร์ที่ติดตั้งไว้ล่วงหน้ากับ Windows ดังนั้นจึงไม่จำเป็นต้องดาวน์โหลดซอฟต์แวร์เพิ่มเติม ฉันเดิมพันว่ามีตัวเลือกอื่นอีกมากมาย ... คุณมีตัวเลือกมากมายที่คุณสามารถเลือกได้


0

นี่คือวิธีที่จะทำ:

วางคำสั่งเหล่านี้ในไฟล์แยกกัน ลองตั้งชื่อftpcommands.txt:

OPEN 72.167.xxx.xx
user Sunshine45
password Thunder34
cd /nwire/wp-contect/uploads/2015/01
put /Les/block7.jpg
Bye

จากนั้นคำสั่งนี้ควรทำเคล็ดลับ (อย่างน้อยใน Windows):

FTP -s ftpcommands.txt

โดยวิธีการ: หากคุณระบุชื่อผู้ใช้และรหัสผ่านจริงที่นี่ในที่เปิดฉันขอแนะนำให้คุณเปลี่ยนตอนนี้ ข้อมูลอื่นที่คุณระบุอาจเพียงพอที่จะค้นหาที่อยู่ IP ที่สมบูรณ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.