2009-05-30 11 views
0

私はプロジェクトの小さなセクションで作業しています。イメージをアップロードしてから、後でサイズを変更するためにコピーします。何が起こっていることは何ですか、それが失敗したとき、それが出力する「   をコピーすることはできませんですイメージをアップロード/コピーするときに失敗しました。リフレッシュ/再送信が成功しました。

$uploadFile = $uploadDir . $imageName; 
    $imageName2 = $front[0]."_large\.".$front[1]; 
    $uploadFile2 = $uploadDir . $imageName2; 

     if(move_uploaded_file($imageTemp,$uploadFile)) 
     { 
      if(!copy($uploadFile, $uploadFile2)) die("Can't copy $uploadFile2"); 
      } 

...私がアップロードし送信する]をクリックすると、それは失敗しますが、私はリフレッシュをヒットした場合/それが成功した情報を再送信していることです            "私はリフレッシュするまで何らかの理由でコピーするファイルの名前を取得できません。

レヴィ

+0

は、私はあなたのフォームとPHPコードのもう少しのためのHTMLを見ることができますか? –

答えて

1

あなたは$の前にドットを逃れるために意味するか[0] "_大\。" $フロント[1]。。。 正規表現を考えていましたか?これが存在しない場合は、存在しないディレクトリに保存しようとしている可能性があります。

他のファイルをアップロードしようとしましたが、$ _FILES配列が空で、フォームタグまたは画像にマルチパートフォームデータがない理由を理解する前に、$ _FILES配列をprint_r()できますか?壊れていて、アップロードストリームはPHPによってカットされています。

0

以下は私のためにうまく動作します。

HTMLファイル:

<!DOCTYPE html> 
<html> 
<title>Stack HTML</title> 
<link rel="stylesheet" href="../../repo/css/bootstrap.css" type="text/css" /> 
<script src="https://code.jquery.com/jquery-2.1.3.js"></script> 
<head> 
</head> 
<body> 
    <div class="container"> 
     <form method="post" action="resize.php" enctype="multipart/form-data"> 
      <input type="file" name="image" /> 
      <input type="submit" name="add" value="Add" /> 
     </form> 
    </div> 
</body> 
</html> 

resize.php

<?php 
    $uploadDir = 'uploads/'; 
    $uploadLargeDir = 'uploads/large/'; 

    $imageName = $_FILES['image']['name']; 
    $imageTemp = $_FILES['image']['tmp_name']; 
    $uploadFile = $uploadDir . $imageName; 


    if(move_uploaded_file($imageTemp,$uploadFile)) { 
     $front = explode('.', $imageName); 
     $imageName2 = $front[0]."_large.".$front[1]; 
     $uploadFile2 = $uploadLargeDir . $imageName; 
     if(!copy($uploadFile, $uploadFile2)) { 
      die("Can't copy $uploadFile2"); 
     } else { 
      die('Levi! Success'); 
     } 
    } 
?> 
関連する問題