最近、私は、アップロードフォームに取り組んでいます。アイデアは、ユーザーがリモートのFTPサーバへのファイルをアップロードすることができるということです。ただし、期待どおりには動作しません。
私も、ファイルのアップロードを開始する前に、私は次のエラーを取得する:「作業ディレクトリにアップロードされたファイルを移動できません」。繰り返しますが、私はまだファイルをアップロードして開始していません。
ここに私のPHPコードは次のとおりです。
<?php
//FTP variabelen met de values
$host = "radioprogrammabank.nl";
$user = "***";
$pass = "***";
//location I want to send the uploaded file to (it is remote)
$destDir = "/domains/radioprogrammabank.nl/public_html/wp/wp-content/uploads";
$dehost = $_POST[$host];
$deuser = $_POST[$user];
$depass = $_POST[$pass];
$dedestDir = $_POST[$destDir];
$workDir = "\Users\stagiaire01\Uploads"; // definieer het lokale systeem
// get temporary file name for the uploaded file
$tmpName = basename($_FILES['file']['tmp_name']);
// copy uploaded file into the current directory
move_uploaded_file($_FILES['file']['tmp_name'], $workDir."/".$tmpName) or die('Cannot move uploaded file to working directory');
// maak connectie, als het niet werkt. Die en geef een melding
$conn = ftp_connect($host) or die ("Cannot initiate connection to host");
// send access parameters
ftp_login($conn, $user, $pass) or die("Cannot login");
// Voer de file upload uit
$upload = ftp_put($conn, $destDir."/".$_FILES['file']['name'], $workDir."/".$tmpName, FTP_BINARY);
// check upload status
// display message
if (!$upload) {
echo "Upload mislukt";
} else {
echo "Upload geslaagd";
}
// sluit de FTP connectie
ftp_close($conn);
// verwijder de lokale kopie van het bestand
unlink($workDir."/".$tmpName) or die("Cannot delete uploaded file from working directory -- manual deletion recommended");
?>
私のHTMLコード:
<html>
<body>
<h2>U kunt hier uw album uploaden</h2>
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
File <br />
<input type="file" name="file" /><p />
<input type="submit" name="submit" value="Upload Album" />
</form>
</body>
[xyz-ips snippet="verbindftp"]
</html>
私はHTMLでショートを持っているなぜあなたは不思議に思うかもしれません。コードはWordpressの中で書かれています。私はPHPを書き込むことができるプラグインを使用します。このショートを書くときにコードが動作します。
私はまた、私に次のように伝えます$ _FILESののvar_dumpをやって試してみました:
"array(0) { } Upload misluktCannot delete uploaded file from working directory -- manual deletion recommended"
var_dumpを行うとき、私はこのメッセージを取得する理由を私は知りません。私は上記の私の値に私のホスト、ユーザ名、パスワード、および方向を設定しています。パスワードとユーザー名がセキュリティ上の理由から、表示されません。
私はStackOverflowの上でこの質問への答えを見つけることができませんでした。しかし、私は私を助けるために十分な情報をご提供願っています。私は、リモートのFTPサーバーにファイルをアップロードできることを期待しています。
ご挨拶、
Parsa_237
あなたは、それ以外の場合は、ページがロードされたときに、ユーザーがまだアップロードを開始していない場合でも、FTPサーバーに接続しようと、アップロードが発生しているかどうかを確認する必要があります。
たとえば、
if ( empty( $_FILES['file'] ) ) {
return;
}
注意点として、私はあなたがPHPスニペットプラグインを使用している気づき、このプラグインとそれのような他の人は信じられないほど危険です。代わりに、使用add_shortcode
ページのPHPの内部の埋め込みスニペットにPHPファイルインチ
これは、あなたがこの問題を取得する理由は、オリジナルのチュートリアルでは、名前のPHPファイルでPHPコードを置くものとするupload.php
フォームがサブミットてしまったときにのみ実行しますので、。しかし、それは、このプラグインの場合ではありません