0 レビュー
1 回答
php-ファイルpdfをアップロードできないのはなぜですか?
これはHTMLコードです:
<form id="upload" action="upload.php" method="POST" enctype="multipart/form-data">
<fieldset>
<legend>html upload</legend>
<input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="300000" />
<div>
<label for="fileselect">select file</label>
<input type="file" id="fileselect" name="fileselect[]" multiple="multiple" />
</div>
<div >
<button type="submit">upload</button>
</div>
</fieldset>
</form>
upload.phpのコード:
$myFile = $_FILES['fileselect'];
$fileCount = count($myFile["name"]);
for ($i = 0; $i < $fileCount; $i++) {
$target_dir = "uploads/";
$target_file = $target_dir . basename( $myFile["name"][$i]);
// echo $myFile["tmp_name"][$i];
if (move_uploaded_file( $myFile["tmp_name"][$i], $target_file)) {
echo "The file ". basename( $myFile["name"][$i]). " has been uploaded.";
} else {
echo "can not move";
}
}
アップロードするファイルの種類がImageまたはMP4の場合、アップロードは問題ありません。
var_dumpを試してみます: 画像をアップロードします。
array(1) { ["fileselect"]=> array(5) { ["name"]=> array(1) { [0]=> string(10) "header.png" } ["type"]=> array(1) { [0]=> string(9) "image/png" } ["tmp_name"]=> array(1) { [0]=> string(24) "C:\xampp\tmp\phpED23.tmp" } ["error"]=> array(1) { [0]=> int(0) } ["size"]=> array(1) { [0]=> int(32416) } } } The file header.png has been uploaded.
PDFをアップロード:
array(1) { ["fileselect"]=> array(5) { ["name"]=> array(1) { [0]=> string(15) "Untitled-12.pdf" } ["type"]=> array(1) { [0]=> string(0) "" } ["tmp_name"]=> array(1) { [0]=> string(0) "" } ["error"]=> array(1) { [0]=> int(2) } ["size"]=> array(1) { [0]=> int(0) } } } can not move
しかし、ファイルpdfをアップロードできません。
ファイルpdfをアップロードできないのはなぜですか?
わからない
0
レビュー
答え :
解決策:
まず問題があります。次の行を確認してください:
<input type="file" id="fileselect" name="fileselect" multiple="multiple" />
複数選択された入力ファイルは、次のような複数のファイル名を保持できるように、その名前を配列として持つ必要があります。
<input type="file" id="fileselect" name="fileselect[]" multiple="multiple" />
これがないと、すべてのファイルを反復処理できません。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。