0 レビュー
1 回答
Ubuntu 16.04 LTSでLAMPを設定した後、PHPはアップロードされているファイルを確認できませんでした
LinodeにLAMPを使用してubuntuを正常にインストールしました。それ以前は、私のWebサイトはすべてgodaddyでホストされていました。 XAMPPを使用したLocalhostと同様に、すべてが正常に機能します。
ただし、この新しいサーバーでは@ Linode;すべてのPHPファイルをサーバーにアップロードしてから、製品のアップロードを開始した後。
mysqlは挿入されましたが、abc.com/imgフォルダーが空です!!!
require "../db/order.php";
$order=new order();
$allowed=['image/jpeg','image/png','image/gif'];
if(empty($_FILES['photos']['name'][0])){
echo "<h1>plz select photos</h1>";
}else{
foreach ($_FILES['photos']['type'] as $abc){
if(!in_array($abc,$allowed)){
echo '
<div style=" margin: auto;
width: 60%;
border: 1px solid #ff0000;
padding: 10px;">
';
echo '<p><a href="upload_picture.php">back to upload</a></p>';
echo '</div>';
$check=false;
}else{
$check=true;
}
}
if($check==true){
$path = "../../img/";
for($i=0;$i<count($_FILES['photos']['name']);$i++){
move_uploaded_file($_FILES['photos']['tmp_name'][$i],iconv("utf-8", "cp936", $path.$_FILES['photos']['name'][$i]));
$img_name[]=$_FILES['photos']['name'][$i];
}
$order->add_img($img_name);
}
}
php.ini
から変更しました
;upload_tmp_dir
から
upload_tmp_dir =/tmp
しかし、それでも機能しません。誰でも助けることができますか?
わからない
0
レビュー
答え :
解決策:
ファイルがアップロードされなかった理由はいくつかあります。
まず、 move_uploaded_file()
の前にis_uploaded_file()
を使用して、ファイルが実際にサーバーに到着するかどうかを確認することをお勧めします。
if (is_uploaded_file($_FILES['photos']['tmp_name'][$i])) {
// move the file
} else {
echo 'file not uploaded';
}
HTMLフォームタグにenctype="multipart/form-data"
がありますか?
php.iniのfile_uploads = On
ですか?
upload_max_filesize
はどうですか?
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。