1
サーバーにアップロードする前に、境界線付きの画像にテキストを追加しようとしています。しかし、私のコードを書いたのはイメージをアップロードしていないようです。私は、彼らが動作しないアップロードが作品や画像操作作業ということが、一緒に、別々にチェックしていますサーバーにアップロードする前にGDで画像を編集する
$name = "some text";
$target_dir = "uploads/";
//strip filename of clear spaces
$cleaned = str_replace(' ', '', basename($_FILES["fileToUpload"]["name"]));
$target_file = $target_dir . $cleaned;
$image = $_FILES["fileToUpload"]["name"];
$im = imagecreatefromjpeg($image);
$white = imagecolorallocate($im, 255, 255, 255);
$font_path = 'uploads/SCRIPTIN.ttf';
$text = "In Memory of " . $name;
imagesetthickness($im, 200);
$black = imagecolorallocate($im, 0, 0, 0);
$x = 0;
$y = 0;
$w = imagesx($im) - 1;
$z = imagesy($im) - 1;
imageline($im, $x, $y, $x, $y+$z, $black);
imageline($im, $x, $y, $x+$w, $y, $black);
imageline($im, $x+$w, $y, $x+$w, $y+$z, $black);
imageline($im, $x, $y+$z, $x+$w ,$y+$z, $black);
imagettftext($im, 200, 0, 20, 300, $white, $font_path, $text);
私はそれは私がサーバーにファイルを書いていますどのように関連しているかもしれないと思う:
move_uploaded_file(imagejpeg($im), $target_file);
(画像上の書き込みに名前を含めるのを忘れて) $ _FILES ['fileToUpload'] ['name']はあなたのマシン上にあった元の名前だけを提供します。また、これが有効なファイルであるかどうかのチェックも実行していないため、問題が発生する可能性があります。ユーザーを信頼してはいけません。少なくとも、拡張チェックとMIMEタイプのチェックを実行します。これにより、jpg/jpeg以外の画像形式で作業することもできます。 – Eihwaz
"move_uuploaded_file"を "imagejpeg($ im、$ target_file);に置き換えてください。 – kraysak