こんにちは私は質問することが1つあります。問題は、特定のフォルダに画像をアップロードしようとしているときです。画像は移動しません。画像情報はデータベースに挿入されますが、画像のみが移動先のフォルダに移動しません。フォルダは空ですが、エラーは表示されません。 Php.iniのfile_uploadはオンになっていますが、イメージはまだ移動していません。私はあなたに感謝し、いくつかのいずれかが、私はこの問題を解決するために役立つことを願ってPHP:アップロードされたファイルがフォルダに移動していません(クローズ)
<form action='try1.php' method='post' enctype='multipart/form-data'>
<table border='1'><tr>
<td><input type='file' name='file_img' /></td><td>
<input type='submit' name='btn_upload' value='upload'></td></tr>
</table>
</form>
<?php
require 'conf.php';
$link = mysqli_connect($h,$u,$p,$db);
if(isset($_POST['btn_upload']))
{
$filetmp = $_FILES["file_img"]["tmp_name"];
$filename = $_FILES["file_img"]["name"];
$filetype = $_FILES["file_img"]["type"];
$filepath = "upload/".$filename;
move_uploaded_file($filetmp,$filepath);
$query = "insert into try (image,type,path) values ('$filename','$filetype','$filepath')";
$result = mysqli_query($link,$query);
}
?>
: 以下は私のコードです。
(解決済み)私はこの問題を解決しました。そのコードではなく、問題を抱えている私のPCです。助けてくれてありがとう。
**警告**:mysqliを使用する場合は、[パラメータ化されたクエリ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param' ](http://php.net/manual/en/mysqli-stmt.bind-param.php)を使用してユーザーデータをクエリに追加します。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成したため、文字列の補間または連結を使用してこれを実行しないでください。 ** '$ _POST'、' $ _GET'、**任意の**ユーザデータを直接クエリーに入れないでください。誰かがあなたのミスを悪用しようとすると非常に危険です。 – tadman
どこでエラーを探しましたか? Apacheのログファイルは?私は許可の問題を疑う。 'chown apache:apache/path/to/destination -R' –
move_uploaded_fileは、成功/失敗時にtrue/falseを返します。それを一時変数に保存して出力/ログします。おそらくそれは許可の問題です。 – mkaatman