私はPHPを使用して自分のウェブサイト用の簡単なファイルアップロード機能を作成しようとしています。私はone.comを使用しています。私はこの中に画像フォルダを持っている資産フォルダを持っています。画像をアップロードしたい場所です。ファイルのイメージパスに何を入れるのか分かりません。イメージをアップロードしようとすると、「完了」がページにエコーされますが、イメージはフォルダに表示されません。one.comのPHPで画像アップロード機能を作成する
if(isset($_POST['submit'])){
// GETTING INFO FROM FILE WE'VE UPLOADED
$file = $_FILES['image'];
$fileName = $_FILES['image']['name'];
$fileTmpName = $_FILES['image']['tmp_name'];
$fileSize = $_FILES['image']['size'];
$fileError = $_FILES['image']['error'];
$fileType = $_FILES['image']['type'];
//Splitting the filename on the extension
$fileExt= explode ('.', $fileName);
//Getting the extension from the file and tolower so we can find out if it is an allowed file type
$fileActualExt = strtolower(end($fileExt));
//File types that we are going to allow
$allowed = array('jpg','jpeg','png');
if(in_array($fileActualExt, $allowed)){
if($fileError === 0){
$fileNameNew = uniqid('', true).".".$fileActualExt;
$fileDestination = '/assets/images/'.$fileName; //PROBLEM??
move_uploaded_file($FileTmpName, $fileDestination);
echo"Done?";
}else{
echo "There was an error?";
}}
else {
echo "You cannot upload files of this type";
}}
try $ fileDestination = './assets/images/'.$fileName; –
これが構文エラーであるか、単にアーキテクチャに関する概念的な質問であるかについて、より詳細に説明します。あなたがバグを修正したり他の何かを解決するために使用するよう求めているかどうかははっきりしていません。 – Matt
ファイルパスは、静的サーバー上のパブリック/プライベートエンドポイントを表す必要があります。これらのイメージがモデル(ユーザ、会社、製品、レビューなど)のコンテキストに固有のものである場合、私は 'filepath'があなたのモデルの情報から再生成できるように、ある種の形式の名前付けパターンを作成します。たとえば、Review of a Cafeの画像を保存していた場合、サーバーに保存されたパスは '/ images/review /:reviewId /:uuid.jpeg'となります。ここで':reviewId'はレビューモデルから引き出され、 :uuidはアップロード時に生成され、すべてが一意であるレビューによって写真を選択する機能を提供します。 – Matt