Ok так что проблема, как представляется, в функции не создавая изображение, или в сценарии он сам, который не пропускает изображение функциифункция не создает изображения еще изображения он прошел
Вот загрузка сценарий (примечание: это вводится в AJAX)
$path = "cache/";
$valid_formats = array("jpg", "png", "gif", "jpeg");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if(strlen($name))
{
ist($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(2024*2024))
{
$new_file = "header.".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$new_file))
{
echo "<img src='cache/".$new_file."?".time()."' class='preview'>";
createHeader($new_file);
}
else
echo "failed";
}
else
echo "Image file size max 1 MB";
}
else
echo "Invalid file format..";
}
else
echo "Please select image..!";
exit;
}
теперь вот функция
function createHeader($new_file) {
$path = "uploads/";
$image = "cache/";
$width = 800;
if(preg_match('/[.](jpg)|(jpeg)$/', $new_file)) {
$im = imagecreatefromjpeg($image . $new_file);
} else if (preg_match('/[.](gif)$/', $new_file)) {
$im = imagecreatefromgif($image . $new_file);
imagecolortransparent($im, black);
} else if (preg_match('/[.](png)$/', $new_file)) {
$im = imagecreatefrompng($image . $new_file);
}
imagealphablending($im, false);
imagesavealpha($im, true);
$ox = imagesx($im);
$oy = imagesy($im);
$nx = $width;
$ny = floor($oy * ($width/$ox));
imagecopyresampled($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);
imagealphablending($im, true);
if(!file_exists($path)) {
if(!mkdir($path)) {
die("There was a problem. Please try again!");
}
}
imagejpeg($nm, $path . $new_file, 100);
imagedestroy($im);
imagedestroy($nm);
}
в логике, что код должен сделать, если пользователь, используя мои сМс loged в он или она может изменить заголовок на странице, щелкнув значок, который сделает вызов jQuery для edit.php, передав необходимую строку запроса. Оттуда собственный пользователь может загрузить новое изображение, которое будет переименовано в header.jpg и переписать исходное изображение
. Header.jpg должен быть загружен в каталог uploads/и копия исходного кеша изображения/должна быть отсоединена функции могут создавать копию и помещать ее в каталог uploads /.
Что происходит, так это то, что первый скрипт загружает файл и помещает его в каталог cache /, но функция, похоже, не работает и ничего не делает для каталога uploads /.
Любая идея, что я могу делать неправильно или не делать это вызывает эту неприятную проблему?
У вашего веб-сервера есть разрешения на запись в каталог, в котором вы храните изображение? – thenetimp
@thenetimp да, это очень старая функция и была протестирована на многих серверах, работает постоянно, это небольшая перезапись того, что я использую в пользовательском программном обеспечении. Его просто не работает для этого проекта, не уверен, что это может произойти с AJAX. –
нашел вашу проблему, посмотрите на мой ответ, который вы вызываете при создании изображения после повторения тега изображения, чтобы изображение не было в то время. – thenetimp