-3

ボタンからmyFunctionに変数を渡します。正しい情報を表示するアラートボックスを作成できますが、コピーコマンドでこれらの変数を使用しても、何も実行されません。私の目標は、ディレクトリに画像を表示することです。ユーザーは、その画像が含まれているボタンをクリックして、画像ファイルを/storage/ディレクトリから/attach/ディレクトリにコピーすることができます。誰かがこれで私を助けてくれますか....ありがとう

私が作成した完全なファイルは次のとおりです。

<!DOCTYPE html>
<html>
<head>
<title>Mark Nutt</title>
<script>
 function myFunction(greeting,greeting2,source,destination)
 {
<?php
    echo copy('"+source+"','"+destination+"');
?> 
    alert("copy('"+source+"','"+destination+"')");
    alert(greeting2 +' attached to email!');
    }
 </script>
</head>
<body>
<a href="#" onclick="MyWindow=window.open('http://www.davidsdomaindesign.com/marknutt/emails/emails.php','_self'); return true;"><font size="2" color="white"><input type="button" value="I'm Done" /></font></a><br />
<?php
 $files = glob("/home/davidsdo/public_html/marknutt/photos/storage/*.jpg");
 asort($files);
 for ($i=0; $i<count($files); $i++)
 {$num = $files[$i];
  $file = substr($num,51);
?>
<button onclick="myFunction('<?php echo $file ?>','<?php echo substr_replace($file,"",-4); ?>','<?php echo $source='/home/davidsdo/public_html/marknutt/photos/storage/'; echo $file; ?>','<?php echo $destination='/home/davidsdo/public_html/marknutt/emails/attach/'; echo $file; ?>')" >
<input type="button" value="<?php echo substr_replace($file,"",-4); ?>" /><br /><img src="http://www.davidsdomaindesign.com/marknutt/photos/storage/<?php echo $file ?>" alt="<?php echo $file ?>" width="125" height="125">
</button>
<?php
 }
?>
</body>
</html>
4

1 に答える 1

1

phpコードでjavascript変数を使用することはできません。これを行うには、php関数を使用する必要があります。次のコードを使用してください:

<!DOCTYPE html>
<html>
<head>
<title>Mark Nutt</title>
<script>
function myFunction(greeting,greeting2,source,destination)
{
window.location = "?greeting="+greeting+"&greeting2="+greeting2+"&source="+source+"&destination="+destination;
}
</script>

<?php
////////////////////////////////////
if(isset($_GET['greeting'])){
   if(copy($_GET['source'],$_GET['destination'])){
      echo '<script language="javascript">';
      echo "alert('copy({$_GET['source']},{$_GET['destination']})');";
      echo "alert('{$_GET['greeting2']} attached to email!');";
      echo'</script>';
   }

}
?>
</head>
<body>
<a href="#" onclick="MyWindow=window.open('http://www.davidsdomaindesign.com/marknutt/emails/emails.php','_self'); return true;"><font size="2" color="white"><input type="button" value="I'm Done" /></font></a><br />
<?php
 $files = glob("/home/davidsdo/public_html/marknutt/photos/storage/*.jpg");
 asort($files);
 for ($i=0; $i<count($files); $i++)
 {$num = $files[$i];
  $file = substr($num,51);
?>
<button onclick="myFunction('<?php echo $file ?>','<?php echo substr_replace($file,"",-4); ?>','<?php echo $source='/home/davidsdo/public_html/marknutt/photos/storage/'; echo $file; ?>','<?php echo $destination='/home/davidsdo/public_html/marknutt/emails/attach/'; echo $file; ?>')" >
<input type="button" value="<?php echo substr_replace($file,"",-4); ?>" /><br /><img src="http://www.davidsdomaindesign.com/marknutt/photos/storage/<?php echo $file ?>" alt="<?php echo $file ?>" width="125" height="125">
</button>
<?php
 }
?>
</body>
</html>

削除するには、次を使用できます。

<script>
function delFunction(source)
{
    window.location = "?delete="+source;
}
</script>
<?php
if(isset($_GET['delete']){
    unlink($_GET['source']);
}
?>

しかし、私はファイルを削除する(ファイルを削除したい人をログに記録する)か、dbを使用してイメージを管理するのではなく、他のディレクトリにファイルを移動することを好みます。

于 2012-12-12T12:41:24.590 に答える