ここで何が起こっているのか本当にわかりません。ほとんどのサーバーで機能しますが、今はこれを機能させることができず、何が起こるかわかりません。
<?php
require_once dirname(dirname(dirname(__FILE__)))."/inc/config.php";
require_once dirname(dirname(dirname(__FILE__)))."/inc/class.upload.php";
$upload_folder = dirname(__FILE__);
if(isset($_POST['filename'])) {
$context = stream_context_create(array('http' => array('header'=>'Connection: close')));
$content = file_get_contents($_POST['file'], false, $context);
$fileName = $_POST['filename'];
$ext = substr($fileName, strrpos($fileName, '.') + 1);
$saved_file = str_replace( '.' . $ext, '', $fileName );
$saved_file .= '_' . crypt($saved_file) . '.' . $ext;
$saved_file = str_replace('/', '', $saved_file);
while( @ file_exists($upload_folder.'/'.$saved_file) ) {
$saved_file = str_replace( '.' . $ext, '', $saved_file );
$saved_file .= crypt($saved_file) . '.' . $ext;
}
if(file_put_contents($upload_folder.'/'.$saved_file, $content, 0, $context)) {
$file_name_save = $upload_folder.'/'.$saved_file;
$handle = new Upload($file_name_save);
if ($handle->uploaded){
$imageName = $handle->file_src_name;
$handle->file_new_name_body = date("Ymdhis").md5($imageName);
$handle->mime_check = true;
$handle->allowed = array('image/*');
$handle->image_convert = 'jpg';
if(($handle->image_src_x > 900) || ($handle->image_src_y > 900)){
$handle->image_resize = true;
$handle->image_ratio = true;
$handle->image_x = 900;
$handle->image_y = 600;
}
$handle->Process(dirname(dirname(dirname(__FILE__))).'/img/Noticias/');
if ($handle->processed){
$NoticiaFoto_Imagem = $handle->file_dst_name;
$Sql = "INSERT INTO tabnoticiasfotos (Noticia_Id, NoticiaFoto_Nome, NoticiaFoto_Ordem, NoticiaFoto_Imagem) VALUES ('".$_POST['ID']."', '', 'NULL', '$NoticiaFoto_Imagem') ";
fputs($fp,$Sql);
$Query = mysql_query($Sql,$Conn) or die(mysql_error($Conn));
@unlink($file_name_save);
}
}
}
echo $saved_file;
$_SESSION["varMensagem"]["css"] = "success";
$_SESSION["varMensagem"]["mensagem"] = "Fotos Enviadas com sucesso.";
exit();
}
?>
これは画像の配列を取得し(jqueryアップロード)、すべての作業を行います。
しかし、新しいサーバーでは何も機能しません
写真はファイルと同じフォルダーにアップロードされ、新しい名前はおかしく見え、データベースに情報を保存しません.
すべてのテストの前に投稿しました
問題はここにあります
if(file_put_contents($upload_folder.'/'.$saved_file, $content, 0, $context)) {
false を返すため、アップロードを終了しないでください。
私にとって問題はここにあり、サーバー構成に関するものだと思います。$context = stream_context_create(array('http' => array('header'=>'Connection: close')));
申し訳ありませんが私は専門家ではありません