複数の添付ファイルを含む電子メールを送信する前に、メールフォームに添付されたファイルをサーバーの一時ディレクトリにアップロードしようとしています。電子メールを送信する前にattchedファイルをtempディレクトリにアップロード
HTML
<div class="file-upload-wrapper">
<label class="file-field" data-max-files="6">
<input type="file" name="photos" multiple>
<span>Drag your files here or click to select your files <span>.jpg, .png and .pdf</span></span>
</label>
<div class="uploaded-files"></div>
</div>
パス
$path_to_holding_directory = "/var/www/vhosts/mysite/test.mysite.com/bin/";
ディレクトリにbinフォルダは、「777」の権限
PHPスクリプト
を持っています私は複数のファイルでこれをやろうとしませんが、これまでのところ成功していますArray
(
[name] => gr-1.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpc7s2Ug
[error] => 0
[size] => 41253
)
Array
(
[name] => gr-2.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php6qLSeb
[error] => 0
[size] => 51475
)
:
function rearrange($arr){
foreach($arr as $key => $all){
foreach($all as $i => $val){
$new[$i][$key] = $val;
}
}
return $new;
}
if(isset($_FILES['photos']))
{
$_photos = rearrange($_FILES['photos']);
foreach($_photos as $file)
{
$path_of_uploaded_file = $path_to_holding_directory . $file['name'];
$tmp_path = $file["tmp_name"];
if(is_uploaded_file($tmp_path))
{
if(!copy($tmp_path,$path_of_uploaded_file))
{
$errors .= '\n error while copying the uploaded file';
}
}
print_r($file);
$message .= $file['name'];
}
}
は、私は次の配列を取得します。私が実装しようとしているソリューションは、ここで発見されたenter link description here
Whoah!速度を落とす!あなたは777のPUBLICディレクトリを持っていますか?あなたのアップロードフォルダをあなたのウェブルートの外に1つ下のフォルダに移動してください。誰でもアクセスできないようにしてください。 – delboy1978uk
これは単なる試行です。もちろん、私はそれを根から完全に外します。 – AlexB
あなたのHTMLフォームはどのように見えますか?あなたの質問を更新してください。また、何かエラーが出ますか?現在の結果は何ですか? – ar34z