0

画像を自動サイズ変更した後.....画像をフォルダーに移動する必要があります.php変数に正しくサイズ変更された画像を取得していますが、フォルダーに移動できませんここに私のコードがあります

    $ename=$_FILES['userfile']['name'];
    $etype=$_FILES['userfile']['type'];
    $ecname=str_replace(" ","_",$ename);

    $tmp_name=isset($_FILES['userfile']['tmp_name']);
    $target_path="nurse_photo/";
    $target_path=$target_path.basename($ecname);

    $imgData=imagecrop($_FILES['userfile']['tmp_name'],$_FILES['userfile']['name'],$_FILES['userfile']['type'],85,85);
    //echo $imgData;



    if(move_uploaded_file($imgData,$target_path))
    {
                 //insert query
             }
4

3 に答える 3

1

move_uploaded_file() は、最初の引数がファイル名であることを意味します。$tmp_name は正しい選択です。

imagecrop() が何かわかりません。これは PHP の内部ではありませんが、一種の GD 処理だと思います。$imgData 型が何であるかを明確にする必要があります。画像本体の場合は

file_put_contents($target_path, $image);

しかし、それが GD 画像リソースの場合は、

imagejpeg($image, $target_path);
于 2013-03-29T05:38:37.940 に答える
0
<?php
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["pic"]["name"]));
if ((($_FILES["pic"]["type"] == "image/gif")
|| ($_FILES["pic"]["type"] == "image/jpeg")
|| ($_FILES["pic"]["type"] == "image/png")
|| ($_FILES["pic"]["type"] == "image/pjpeg"))
&& ($_FILES["pic"]["size"] < 2097152)
&& in_array($extension, $allowedExts))
{

if ($_FILES["pic"]["error"] > 0)
{
echo "Return Code: " . $_FILES["pic"]["error"] . "<br>";
}
else
{

if ($_FILES["pic"]["size"] > 2097152) { // if file is larger than we want to allow
echo "ERROR: Your file was larger than 2MB in file size.";
}
if (file_exists("Image/" . $_FILES["pic"]["name"]))
{
echo "<script language='javascript'>alert('Picture Already Exists..!');</script>"; 

//echo $_FILES["pic"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["pic"]["tmp_name"],"Image/" . $_FILES["pic"]["name"]);
//echo "your photo has been uploaded successfully!";
$abc = $_FILES["pic"]["name"];
}
}
}

このコードを使用すると、問題が確実に解決されます。

于 2013-03-29T05:46:48.480 に答える
0

アップロードされている画像の種類に応じて、次のような関数を使用できますimagejpeg

例:

$imgData = imagecrop($_FILES['userfile']['tmp_name'], $_FILES['userfile']['name'], $_FILES['userfile']['type'], 85, 85);
// If $imgData is a jpg/jpeg:
imagejpeg($imgData, "/path/to/save/image", "9"); // Where the last arguement (9, in my case), is the image quality.

これにより、関数で設定した目的のパスに画像が保存されます。

もちろん、 、 、 などもimagepngありimagegifます。

于 2013-03-29T05:37:39.783 に答える