<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分與文章內容無關,可以放一些初始化或註釋信息</span></span><span>
</span><span><span class="hljs-comment">// Author: Example Author</span></span><span>
</span><span><span class="hljs-comment">// Date: 2025-08-27</span></span><span>
</span><span><span class="hljs-comment">// Description: PHP文章示例</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>ftp_fput 與 ftp_put 的区别與选择:哪個更適合你的需求?</h1>
<p>在 PHP 中操作 FTP 文件時,常常會遇到 <code>ftp_put可以看出,主要區別在於第三個參數: ftp_put接收文件路徑,而ftp_fput接收文件句柄。
如果文件很大:
<span><span>$ftp</span></span> <span>=</span> <span><span class="function_ invoke__">ftp_connect</span></span> <span>(</span> <span><span>"ftp.example.com"</span></span> <span>);
</span><span><span class="function_ invoke__">ftp_login</span></span> <span>(</span> <span><span>$ftp</span></span> <span>,</span> <span><span>"username"</span></span> <span>,</span> <span><span>"password"</span></span> <span>);
</span><span><span>$localFile</span></span> <span>=</span> <span><span>"local.txt"</span></span> <span>;
</span><span><span>$remoteFile</span></span> <span>=</span> <span><span>"remote.txt"</span></span> <span>;
</span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">ftp_put</span></span> <span>(</span> <span><span>$ftp</span></span> <span>,</span> <span><span>$remoteFile</span></span> <span>,</span> <span><span>$localFile</span></span> <span>, FTP_BINARY)) {
</span><span><span>echo</span></span><span> </span><span><span>"文件上傳成功!"</span></span> <span>;
}</span> <span><span>else</span></span> <span>{
</span><span><span>echo</span></span><span> </span><span><span>"文件上傳失敗!"</span></span> <span>;
}
</span><span><span class="function_ invoke__">ftp_close</span></span> <span>(</span> <span><span>$ftp</span></span> <span>);
</span><h3>ftp_fput 示例</h3><pre>
<span><span>$ftp</span></span> <span>=</span> <span><span class="function_ invoke__">ftp_connect</span></span> <span>(</span> <span><span>"ftp.example.com"</span></span> <span>);
</span><span><span class="function_ invoke__">ftp_login</span></span> <span>(</span> <span><span>$ftp</span></span> <span>,</span> <span><span>"username"</span></span> <span>,</span> <span><span>"password"</span></span> <span>);
</span><span><span>$localFile</span></span> <span>=</span> <span><span>"local.txt"</span></span> <span>;
</span><span><span>$handle</span></span> <span>=</span> <span><span class="function_ invoke__">fopen</span></span> <span>(</span> <span><span>$localFile</span></span> <span>,</span> <span><span>"r"</span></span> <span>);
</span><span><span>$remoteFile</span></span> <span>=</span> <span><span>"remote.txt"</span></span> <span>;
</span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">ftp_fput</span></span> <span>(</span> <span><span>$ftp</span></span> <span>,</span> <span><span>$remoteFile</span></span> <span>,</span> <span><span>$handle</span></span> <span>, FTP_BINARY)) {
</span><span><span>echo</span></span><span> </span><span><span>"文件上傳成功!"</span></span> <span>;
}</span> <span><span>else</span></span> <span>{
</span><span><span>echo</span></span><span> </span><span><span>"文件上傳失敗!"</span></span> <span>;
}
</span><span><span class="function_ invoke__">fclose</span></span> <span>(</span> <span><span>$handle</span></span> <span>);
</span><span><span class="function_ invoke__">ftp_close</span></span> <span>(</span> <span><span>$ftp</span></span> <span>);
</span><h2><span><span>6</span></span> <span>. 總結</span><p>簡單來說:</p><ul><li>如果你有現成的文件, <span class="fun"><a href="/zh-tw/php/ftp_put.html" target="_blank">ftp_put</a></span>是最直接的選擇。</li><li>如果文件內容需要動態處理,或者希望更靈活地控制上傳過程, <span class="fun">ftp_fput</span>更合適。</li></ul><p>理解兩者的區別和適用場景可以幫助你在PHP 開發中更高效地處理FTP 上傳任務。</p></div></div>